ABA
ABCBA
ABCDCBA
有兴趣的来搞搞!!!嘿嘿
个人觉得这个比杨辉三角简单点,看看我写的怎么样。。。
开始时输入一个n控制行数,0~50都可以,不过最好不超过26.。
输入大一点的数,场面会很壮观。。。
#include "Stdio.h"
#include "Conio.h"
int main(void)
{
char a[50][50];
int i,j,n,k;
scanf("%d",&n);
for(i=0;i<n+1;i++)
a[i][0]='A';
for(i=1;i<n+1;i++)
{
for(j=1;j<i;j++)
a[i][j]=a[i][j-1]+1;
for(;j<2*i-1;j++)
a[i][j]=a[i][j-1]-1;
}
for(i=0;i<n+1;i++)
{ for(k=0;k<n-i;k++)
printf(" ");
for(j=0;j<i*2-1;j++)
printf("%c",a[i][j]);
printf("\n");
}
getch();
return 0;
}
#include<stdio.h>
#define dist(x,n) ((x)-(n)>0?(x)-(n):(n)-(x))
main(){
int n,i,j;
while(scanf(\"%d\",&n)!=EOF){
if(n<1||n>26) return 0;
for(i=1;i<=n;i++){
for(j=1;j<=2*n-1;j++) printf(\"%c\",dist(j,n)<i?i-1-dist(j,n)+'A':' ');
printf(\"\n\");
}
}
}
[此贴子已经被作者于2007-5-27 18:59:51编辑过]
都很牛,我的笨办法来了
#include "stdio.h"
main()
{
char s[4][7];
int i,j,n=0;
for(j=0;j<4;j++,n=0)
{
s[j][3]='A'+j;/*置中间数*/
if(s[j][3]>'A')
{
for(i=0;i<3;i++)
{
s[j][2-i]=s[j][4+i]=s[j][3-i]-1;
n++;
if(s[j][2-i]=='A')
break;
}
}
for(i=0;i<(6-2*n)/2;i++)
{
s[j][i]=' ';
}
for(i=4+n;i<7;i++)
{
s[j][i]=' ';
}
}
for(i=0;i<4;i++)
{
for(j=0;j<7;j++)
printf("%c",s[i][j]);
printf("\n");
}
}