字符金字塔------C语言


前言

到今天写csdn已经有一个多星期了,在这段时间里我发现了csdn非常适合学编程的同学们去将自己学到的分享在这个平台,不仅可以将自己写的分享在上面并且这个平台还有许多关于专业的知识,大家彼此分享。真的在这上面我获取了不少知识,在我的这几道编程题中,很多的细节,我不懂得都会在搜索栏上搜索,查到的东西很多,我非常希望大家可以好好利用平台,大家有想发表文章的,可以在评论区留言,大家互相关注,一起进步!

一、循环结构

实际上,在解决问题的时候会遇到许多有规律的重复计算或操作,这类问题采用循环结构最为有效,今天的题目会用到其中的一个循环结构-----for循环语句,其实for循环语句是C语言中最常用的一种循环语句,它不仅用于循环数已知的情况,还能用于不能确定,只给出循环条件的情况。
它的一般形式为:
for(表达式1;表达式2;表达式3)
注意:括号和封号都是输入法为英文状态下的。

二、例题

1.问题要求

题目描述:
输入一个字符,用它构造一个三角形金字塔。

数据范围:保证输入的字符是一个 char 类型的值
输入描述:
输入只有一行,一个字符。
输出描述:
该字符构成的三角形金字塔。
示例1
输入:
1
复制
输出:
在这里插入图片描述

2.参考代码

代码如下(示例):

#include <stdio.h>
int main()
{
	char a;
	int i,j,m;
	scanf("%c",&a);//字符输入 
	for(i=1;i<=5;i++)
	{
		for(j=1;j<=5-i;j++){
			printf(" ");
		}
		for(m=1;m<=i;m++)
		printf("%c ",a);
		printf("\n"); 
	    
	}
	return 0;
}

3.运行结果

在这里插入图片描述

4.代码解释

#include <stdio.h>
int main()
{
//保证输入的字符是一个 char 类型的值
char a;
//定义变量名用于后面的循环次数
int i,j,m;
//字符输入
scanf("%c",&a);
//最外层的for循环是代表的一共有五行,每行每行去实现输出结果
for(i=1;i<=5;i++)
{
//内层的第一个循环实现的是对于前四行出现的空格现象,我们容易发现第一行的字符前有四个空格,依次发现每行前有5-i个空格利用这一规律写除for循环
for(j=1;j<=5-i;j++){
printf(" “);
}
//内层的第二个循环,实现的是在空格之后对字符的输出,满足空格之后第几行就输出几个字符,注意字符之间有空格。
for(m=1;m<=i;m++)
printf(”%c “,a);
printf(”\n");

}
return 0;

}
这个for循环其实有两层,一个for循环下嵌套有两个for循环。

该代码是在devc++上运行的
【题目来源于牛客网】


总结

本题的考察就是对循环的一个考察,可以发现,循环的利用大大的节省的代码的长度。对一些需要大量计算但计算思想一样的,不妨试一试循环,在今后的学习过程中,循环也是非常重要的一个内容,希望大家可以对提前对循环有一个认识,这样在今后的学习过程中可以读懂代码,写出代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值