前言:
今天朋友们对“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语言打印金字塔