7、编写一个程序,用户输入某个大写字母,产生 一个金字塔图案。例如用户输入字母D,则产生如 下图案:
A
ABA
ABCBA
ABCDCBA
更新优化代码:
1 #include <stdio.h> 2 3 int main(void) 4 {
5 char ch; 6 int line,i,j,k; 7 8 printf("请输入一个字符:"); 9 scanf("%c",&ch); 10 11 line = ch - 'A'+1; 12 13 for(i=0;i<line;i++){
14 for(j=0;j<line-i;j++){
15 printf("%c",' ');//输出每层空格 16 } 17 for(k=0;k<i;k++){
//k=0;k<0:不进入循环 18 printf("%c",'A'+k);//输出顺序字母 19 } 20 printf("%c",'A'+i);//输出中间字母 21 for(;k>0;k--){
22 printf("%c",'A'+k-1);//输出逆序字母 23 } 24 printf("\n"); 25 } 26 return 0; 27 }
讯享网
讯享网 1 #include <stdio.h> 2 3 int main(void) 4 {
5 char capital,total_line,total_capital,i=0; 6 7 printf("请输入一个大写字母:"); 8 scanf("%c",&capital); 9 10 for(total_line = capital-'A';total_line>=0;total_line--)//65为'A',行数 11 {
12 13 for(i=total_line;i>0;i--)//金字塔前空白图案 14 {
15 printf(" "); 16 }//i释放为0 17 for(total_capital=total_line+'A';total_capital<=capital;total_capital++) 18 {
19 printf("%c",'A'+i); 20 i++; 21 } 22 if(i>1) 23 {
24 for(i-=2;i>=0;i--) 25 {
26 printf("%c",'A'+i); 27 } 28 } 29 else 30 {
31 i = 0; 32 } 33 34 for(i=total_line;i>0;i--) 35 {
36 printf(" "); 37 } 38 printf("\n"); 39 } 40 return 0; 41 } 执行后效果: 请输入一个大写字母:Z A ABA ABCBA ABCDCBA ABCDEDCBA ABCDEFEDCBA ABCDEFGFEDCBA ABCDEFGHGFEDCBA ABCDEFGHIHGFEDCBA ABCDEFGHIJIHGFEDCBA ABCDEFGHIJKJIHGFEDCBA ABCDEFGHIJKLKJIHGFEDCBA ABCDEFGHIJKLMLKJIHGFEDCBA ABCDEFGHIJKLMNMLKJIHGFEDCBA ABCDEFGHIJKLMNONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/24633.html