这道题很坑
当时被支配了很久…
一开始我是这样解的:
#include<stdio.h>
int main()
{
int k = 0;
while (scanf("%d", &k) != EOF)
{
//上方
int i = 0;
for (i = 0; i < k + 1; i++)
{
int j = 0;
for (j = k + 1 - i; j > 0; j--)
{
printf("* ");
}
printf("\n");
}
//下方
for (i = 1; i < k + 1; i++)
{
int j = 0;
for (j = k - i; j < k + 1; j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
然后牛客网上编译失败…
转到VS2022尝试了以下,自己感觉没毛病啊~
但当我将
这个输出复制出来时…才发现,图形的这些位置还要打印空格…
上代码!
#include <stdio.h>
int main()
{
int n = 0;
//如果输入的是n,其实每行打印n+1组字符(*和空格)
while(scanf("%d", &n) != EOF)
{
int i = 0;
for(i=n; i>=0;i--)
{
int j = 0;
for(j=0; j<=i; j++)
{
printf("* ");
}
//*的后面还有空格
for(j=i; j<n; j++)
{
printf(" ");
}
printf("\n");
}
for(i=1; i<=n; i++)
{
int j = 0;
for(j=0; j<=i; j++)
{
printf("* ");
}
//*的后边还有空格
for(j=i; j<n; j++)
{
printf(" ");
}
printf("\n");
}
}
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/124398.html