第1个回答 2012-04-14
等腰三角形的程序
#include<stdio.h>
#define N 10
#include<stdio.h>
void main()
{
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n); /*控制输入正确的值以保证屏幕显示的图形正确*/
for(i=0;i<=n;i++) /*控制输出N行*/
{
for(j=0;j<24-2*i;j++) printf(" "); /*控制输出第i行前面的空格*/
for(j=1;j<i+2;j++) printf("%4d",c(i,j)); /*输出第i行的第j个值*/
printf("\n");
}
}
int c(int x,int y) /*求杨辉三角形中第x行第y列的值*/
{
int z;
if((y==1)||(y==x+1)) return 1; /*若为x行的第1或第x+1列,则输出1*/
z=c(x-1,y-1)+c(x-1,y); /*否则,其值为前一行中第y-1列与第y列值之和*/
return z;
}
这个问题与杨辉三角的求法相似,你可以参考一下这个程序。
第2个回答 2018-02-21
#include <stdio.h>
char c;
int main()
{
scanf("%c",&c);
for (int i=1;i<=c-'A'+1;i++)
{
for (int j=0;j<i;j++) printf("%c",'A'+j);
for (int j=i-1;j;j--) printf("%c",'A'+j-1);
printf("\n");
}
}
你看看是不是这个意思
第3个回答 2017-08-15
#include<stdio.h>
void f(char *a, char *b)
{
while(*a++);
a--;
while(*a++=*b++);
}
void main()
{
int i, j;
char c, x;
scanf("%c", &c);
for(i=1; i<=c-'A'+1; i++)
{
x = 'A';
for(j=1; j<=(2*i-1)/2; j++)
printf("%c", x++);
for(;j<=2*i-1; j++)
printf("%c", x--);
printf("\n");
}
}
第4个回答 2020-02-16
#include <stdio.h>
int main()
{
int i,m,n;
char t,letter;
printf("请输入大写字母A—Z\n");
scanf("%c",&letter);
printf("您所要的金字塔如下:\n");
for(i=0;i<letter-64;i++)
{
for(t='A',m=letter-64;t<66+i;t++)
{
printf("%*c",m-i,t);
if(t==65) break;
}
for(t='A';t<65+i;t++) printf("%c",t+1);
for(t='A',n=1;t<65+i;t++,n++) printf("%c",65+i-n);
printf("\n");
}
}