快捷搜索:  汽车  科技

c语言中用字母表示金字塔(C语言-输出字母金字塔)

c语言中用字母表示金字塔(C语言-输出字母金字塔)一共5行,观察规律空空空 DDDDDDD空空 EEEEEEEEE~

c语言中用字母表示金字塔(C语言-输出字母金字塔)(1)

①字母金字塔

空空空空空空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");

}

猜您喜欢: