用C语言打印三行字母塔,打印字母金字塔,昨晚看到某个帖子的题目

编程入门 行业动态 更新时间:2024-10-17 09:38:10

用C语言打印三行<a href=https://www.elefans.com/category/jswz/34/1765130.html style=字母塔,打印字母金字塔,昨晚看到某个帖子的题目"/>

用C语言打印三行字母塔,打印字母金字塔,昨晚看到某个帖子的题目

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

编程实现打印字母金字塔

如以下形式:

A

ABA

ABCBA

ABCDCBA

ABCDEDCBA

ABCDEFEDCBA

ABCDEFGFEDCBA

ABCDEFGHGFEDCBA

ABCDEFGHIHGFEDCBA

ABCDEFGHIJIHGFEDCBA

程序代码:

#include

#include

void print1(int i,int n);//打印每行的空格

void print2(int n);//打印字母

int main()

{

int n;

loop:printf("输入你要金字塔层数n:");

scanf("%d",&n);/*输入金字塔的层数*/

if(n>0&&n<27)

{

print2(n);//打印金字塔

}

else

{

printf("您的输入有误0

goto loop;

}

return 0;

}

void print1(int i,int n)/*打印每层前半部和后半部的空格*/

{

while(n-i-1>0)

{

printf(" ");

i++;

}

}

void print2(int n)

{ int i,j;

char *str;

printf("%d层字母金字塔:\n",n);

str=(char*)malloc(sizeof(char)*n);/*n层金字塔包含n个字母*/

str[0]='A';/*首字母为A*/

for(i=0;i

{

str[i+1]=str[i]+1;/*字母依次为ABC...*/

print1(i,n);//打印每层前半部分面的空格

for(j=0;j<2*(i+1)-1;j++)

{

if(j>i)

printf("%c",str[2*i-j]);

/*2*i-j=(i-(j-i)),在中间字母右边的字母与距中间字母等距离的左边字母*/

else

printf("%c",str[j]);/*顺序打印字母*/

}

print1(i,n);/*打印每层后半部分的空格*/

printf("\n");//换行

}

}

更多推荐

用C语言打印三行字母塔,打印字母金字塔,昨晚看到某个帖子的题目

本文发布于:2024-02-08 21:14:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1675119.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字母   金字塔   题目   昨晚   语言

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!