下面两题在cdsn找了很久,几乎没有合适的答案
一,请编写输出以下图案的程序,图案的行数由输入的整数值确定。
A
BBB
CCCCC
DDDDDDD
...
#include <stdio.h>
int main(void)
{
int n,i,b,c;
char ch = 'A';
printf("请输入你要打印的行数:\n");
scanf("%d",&n);
for(i = 1;i <= n;i++) //i是金字塔行数 大小由输入值n确定
{
for(b = 0;b < n - i;b++) //b是一行中空格的个数
{
putchar(' ');
}
for(c = 0;c < 2 * i - 1;c++) //c是一行中的字母的个数
{
printf("%c",ch);
}
printf("\n");
ch++; //打印完一行,ch再进行++;
}
return 0;
}
思路:
以五行金字塔为例
比较得出i与b和c的关系即可。
二,请编写输出以下图案的程序。
A
ABA
ABCBA
ABCDCBA
#include <stdio.h>
int main(void)
{
int n,i,b,c,d;
char ch='A';
printf("请输入你要打印的行数:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
ch='A';
for(b=0;b<n-i;b++)
{
putchar(32);
}
for(c=0;c<i;c++)
{
printf("%c",ch++);
}
ch--;
for(d=0;d<i-1;d++)
{
printf("%c",--ch);
}
printf("\n");
}
return 0;
}
说一下思路:
相比上一题,这题主要分解为打印左边和打印右边两部分。
版权声明:本文为woxiuc原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。