题目来源:https://nanti.jisuanke.com/t/17109
由键盘输出任意一个自然数 nn,输出如下图:形如“菱形”的由大写字母组成的图形,注意上一半开始字母相同,下一半结束字母相同。(注意:每一行输出字母后没有多余的空格)
n = 1n=1 的时候
1
A
n = 2n=2 的时候
1
A
2
ABC
3
C
n = 3n=3 的时候
1
A
2
ABC
3
ABCDE
4
CDE
5
E
输入格式
文件名:lingxing.in
输入一个整数 n(1le n le 13)n(1≤n≤13)。
输出格式
文件名:lingxing.out
输出对应的图形。
样例输入
4
样例输出
A ABC ABCDE ABCDEFG CDEFG EFG G
无文件代码:
#include <stdio.h>
int main()
{
int n;
int i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=1;k<=n-i;k++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("%c",'A'+j-1);
printf("
");
}
for(i=n-1;i>0;i--)
{
for(k=n-i;k>0;k--)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("%c",'A'+j-1+(n-i)*2);
printf("
");
}
return 0;
}
文件代码:#include <stdio.h>
int main()
{
int n,a,i,sum;
FILE *in,*out;
if((in=fopen("lingxing.in.txt","r"))==NULL)
{printf("打开失败");return;}
if((out=fopen("lingxing.out.txt","w"))==NULL)
{printf("打开失败");return;}
while (!feof(in))
{
/*
fscanf(in,"%d",&n);
for(i=0,sum=0;i<n;i++)
{
fscanf(in,"%d",&a);
sum+=a;
}
fprintf(out,"%d
",sum);
*/
int n;
fscanf(in,"%d",&n);
int i,j,k;
for(i=1;i<=n;i++)
{
for(k=1;k<=n-i;k++)
fprintf(out," ");
//printf(" ");
for(j=1;j<=2*i-1;j++)
// printf("%c",'A'+j-1);
//printf("
");
fprintf(out,"%c",'A'+j-1);
fprintf(out,"
");
}
for(i=n-1;i>0;i--)
{
for(k=n-i;k>0;k--)
// printf(" ");
fprintf(out," ");
for(j=1;j<=2*i-1;j++)
fprintf(out,"%c",'A'+j-1+(n-i)*2);
fprintf(out,"
");
// printf("%c",'A'+j-1+(n-i)*2);
// printf("
");
}
}
fclose(in);
fclose(out);
return 0;
}