gpt4 book ai didi

c - 如何用C生成这个模式?

转载 作者:行者123 更新时间:2023-11-30 20:57:29 27 4
gpt4 key购买 nike

%@@@%
%...%
%...%
%...%
%@@@%

我的错误在哪里?请告诉我。我是初学者:我刚刚开始编程。我将非常感谢您的帮助。

    #include<stdio.h>
int main(){
int i,j,num;
scanf("%d", &num);

for(i=0;i<num;i++){
for(j=0;j<num;j++){
if((i==0)||(i==num-1)){
printf("@");
}
else if((j==i-1)||(j==num-1)){
printf("%");
}
else
printf(".");
}
printf("\n");
}
}

最佳答案

您的代码中存在三个问题。

  1. %符号是C语言中的一个运算符,用于printf函数中的格式化。因此 printf("%"); 不会打印该字符。有一个技巧,你可以写 printf("%%"); 来代替。
  2. 首先要注意求值中的字符%,然后是字符@,否则无法获取%字符第一行和最后一行
  3. 变量j的条件也必须等于0num-1

还有一个更优雅的解决方案,但要遵循您的代码,这是正确的实现:

#include<stdio.h>
int main(void)
{
int i,j,num;
scanf("%d", &num);

for(i=0;i<num;i++)
{
for(j=0;j<num;j++)
{
if((j==0)||(j==num-1))
{
printf("%%");
}
else if((i==0)||(i==num-1))
{
printf("@");
}
else
{
printf(".");
}
}
printf("\n");
}
return 0;
}

我建议重新考虑你的代码。玩得开心。 :-)

关于c - 如何用C生成这个模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58974054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com