龙空技术网

C语言-输出字母金字塔

肌肉诗男 191

前言:

今天朋友们对“c语言打印金字塔”可能比较关心,朋友们都想要知道一些“c语言打印金字塔”的相关资讯。那么小编同时在网络上搜集了一些关于“c语言打印金字塔””的相关资讯,希望小伙伴们能喜欢,兄弟们快快来学习一下吧!

①字母金字塔

空空空空空空A

空空空空空 BBB

空空空空 CCCCC

空空空 DDDDDDD

空空 EEEEEEEEE

观察规律

一共5行,

从上到下依次递增

内容递增ABCDE

数量递增13579

同时前置递减的空格65432

从而形成对齐的金字塔图形

②源程序

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i=1,n,k,r;char ch;

for(i=1;i<6;i++)

{ch="A"+i-1;

n=2*i-1;

for(k=6;k>=i;k--)putchar(` `);

for(r=1;r<=n;r++)putchar(`ch`);

printf("\n");

};

system("pause");

}

③解释

#include<studio.h>

为了调用for、printf、putchar函数

#include<stdlib.h>

为了调用 system函数

int main()

主函数main是执行程序入口,固定格式

只是函数返回值为整型,main前面必须加int

{

int i=1,n,k,r;char ch;

字母i、n用于计数

字母k用于输出空格数量(kong取首字母)

字目 r用于输出内容数量(rong取首字母)

字符ch用于输出内容字母(char后面有空格)

for(i=1;i<6;i++)

一共5行,i为1到5。

因为下一句,i=5时,"A"+i-1刚好递增4=E

{ch="A"+i-1;

字母=A开始往后递增,用ASCLL码把ABCDE等字母量化

n=2*i-1;

n是表示13579的数列

for(k=6;k>=i;k--)putchar(` `);

k表示空格从6递减到2,5行递减5次,

倒着输出空格

第一行,i=1时,k=654321,6空格

第二行,i=2时,k=65432,5空格

第三行,i=3时,k=6543,4空格

第四行,i=4时,k=654,3空格

第五行,i=5时,k=65,2空格

putchar(`中间有空格`),表示输出字符空格

for(r=1;r<=n;r++)putchar(`ch`);

r表示内容数量按13579递增

ch="A"+i-1表示内容按字母顺序ABCDE递增

5行递增5次

第一行,n=1时,r=1,1个A

第二行,n=3时,r=123,3个B

第三行,n=5时,r=12345,5个C

第四行,n=7时,r=1234567,7个D

第五行,n=9时,r=123456789,9个E

putchar(`ch`),表示输出字符字母

printf("\n");

每一行最后不要忘了回车

};

system("pause");

解决窗口闪退问题

}

④胡思乱想

可以把字母换成汉字,增加程序可读性,

程序可以执行,但考试会被扣分

k=空格

r=内容

ch=字母

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i=1,n,空格,内容;char 字母;

for(i=1;i<6;i++)

{ch="A"+i-1;

n=2*i-1;

for(空格=6;空格>=i;空格--)putchar(` `);

for(内容=1;内容<=n;内容++)putchar(`字母`);

printf("\n");

};

system("pause");

}

标签: #c语言打印金字塔