whoo洗面奶真伪:C语言编程

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 01:24:48
运用循环语句嵌套,输出图形,行数由输入数字决定:
A
ABA
ABCBA
ABCDCBA
………………
谢谢!
上面格式有误,是等腰三角形,第一行A在正中间,第二行B再正中间.

#include<stdio.h>
void main()
{ char letter[26][51],(*p)[51];
int i,j,n;
while(1)/*用来确保你输入的数在1和26之间*/
{printf("Please enter your number:\n");
scanf("%d",&n);
if(n>=1&&n<=26) break;
else printf("Error!\n");
}
p=letter;
*(*p+25)='A';
for(i=1;i<=n;i++)
for(j=25-i;j<=25;j++)
{if(j!=25) *(*(p+i)+j)=*(*(p+i)+50-j)=*(*(p+i-1)+j+1);
else *(*(p+i)+j)=*(*(p+i-1)+j)+1;}
for(i=0;i<n;i++)
{for(j=26-n;j<=24+n;j++)
printf("%c",*(*(p+i)+j));
printf("\n");}
getch();

}
这个方法并不是很好,如果用链表可以更节省内存,不过在下实在不会了

int i=0,j=0,Max=10;

for (int i=0;i<Max;i++)
{
for (j=0;j<=(Max/2-i);j++) printf(" "); //打印出 Max/2-i个空格以形成等腰三角形,没有做调试,有可能格式会有些出入
for (j=0;j<=i)printf("%c",'A'+j);
}