1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > PTA 空心字母金字塔+数字金字塔+字母金字塔

PTA 空心字母金字塔+数字金字塔+字母金字塔

时间:2020-03-01 15:59:37

相关推荐

PTA 空心字母金字塔+数字金字塔+字母金字塔

输入一个大写的英文字母,输出空心的字母金字塔。

输入格式:

一个大写英文字母。

输出格式:

一个空心的大写英文字母金字塔,其中第1层的“A”在第1行的第40列,列从1开始计数。

输入样例:

E

输出样例:

AB BC CDDEEEEEEEEE

#include<stdio.h>int main(){char x;scanf("%c",&x);//输入一个大写字母int n=x-'A'+1;//总行数//printf("%d",x-'A');int i,j;for(i=1;i<=n;i++){for(j=1;j<=40-i;j++){printf(" ");//输出字母前的空格 }printf("%c",'A'-1+i);//每行第一个字母 for(j=1;j<=2*(i-1)-1;j++)//第二行后面输出空格位数为2*(i-1)-1{if(i!=n){printf(" ");//三角形中间的空格 }else{printf("%c",x);}}if(i!=1){printf("%c",'A'-1+i);//每行最后一个字母 }printf("\n");//}return 0;}

类似题目:数字金字塔

输入正整数n,输出n层数字金字塔。

输入格式:

正整数n,1<=n<=9。

输出格式:

n层的金字塔,其中第1层的“1”在第1行的第39列(列从1开始计数)。

输入样例:

5

输出样例:

1121123211234321123454321

代码:

#include<stdio.h>int main(){int n;scanf("%d",&n);int i,j;for(i=1;i<=n;i++){for(j=1;j<=39-i;j++){printf(" ");//表格前空格 }for(j=1;j<=i;j++){printf("%d",j);//每行的前一半数字 } for(j=i-1;j>=1;j--){printf("%d",j);//每行后一半数字 }printf("\n");}return 0; }

类似题目:字母金字塔

输入大写字母A,B,C~,输出字母金字塔。

输入格式:

大写字母:F

输出格式:

AABAABCBAABCDCBAABCDEDCBAABCDEFEDCBA

代码:

#include<stdio.h>int main(void){char c;int i, j;printf("输入你想输出的字母:");scanf("%c", &c);char ch = 'A';int num = c - 'A' + 1;/*num为需输出的从A开始的字符数,也为打印的总行数*/for ( i = 1; i <= num; i++)/*外层循环,控制打印的行数*/{for ( j = 0; j < num - i; j++){printf(" ");/*打印空格,空格数量为总字符数减去当前行应打印的字符数*//*有:本应打印空格数 + 应打印字符数 = 总字符数(总行数)*/}for (ch = 'A'; j < num; j++,ch++){printf("%c", ch);/*打印正序字符*/}for(j=1,ch-=2;j<i;j++,ch--){printf("%c", ch);/*打印逆序字符*/}printf("\n");}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。