【题目】
对于输入的整数n(n>=0),打印2n+1行的字母沙漏。例如:
输入:5
输出:如下图所示。
【源代码】
#include<stdio.h>
#include<math.h>
int main ( )
{
int n,i,j,k=65;
scanf("%d",&n);
for(i=-n;i<=n;i++)//外层循环:2*n+1行
{
for(j=1;j<=n-abs(i);j++)//内层循环1:空格
{
printf(" ");
}
for(j=1;j<=abs(i)*2+1;j++)//内层循环2:每行有2*abs(i)+1个字母
{
if(k>90&&((k-65)%26==0))//大写字母的ASCII值65-90;超过90再次循环
{
k=65;
printf("%c",k);
}
else
{
printf("%c",k);
}
k++;
}
printf("\n");
}
return 0;
}
【运行结果】