浙大版《C语言程序设计(第3版)》题目集 练习2-3 输出倒三角图案 (5 分)

练习2-3 输出倒三角图案 (5 分)

本题要求编写程序,输出指定的由“”组成的倒三角图案。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出由“
”组成的倒三角图案。

* * * *
 * * *
  * *
   *

方法一:直接暴力输出
(可以说是"Hello World!'的升级版,见到了格式化输出)

#include<stdio.h>

int main()
{
printf("* * * *\n * * *\n  * *\n   *\n");
return 0;
}

方法二:找到规律利用循环进行输出
(本题不需要,但是这种能力在后边很常用到)
代码A:(引用网上其他人的)

#include <stdio.h>
int main() {
	// n 为行数  i,j为循环控制变量
	// i控制 每行开始的空格数
	// j 控制每行相邻两项的空格数
	int n,i,j;
	for ( n=4; n>0 ; n-- ) { // 总共有 4 行 (因 n==4)
		for( i=4 ; i>n ; i--) printf(" ");// 控制每一行开始时的空格数
		for( j=2*n-1 ; j>0 ; j-- ) {
			// 控制相邻两项的空格数
			if ( j%2==1 ) {	
				printf("*");
			} else {
				printf(" ");
			}
		}
		printf("\n"); //每行结束时的换行
	}
	return 0;
}

代码B:(亦是利用循环,但利用的是每行不同符号所占的个数规律进行循环。)

# include<stdio.h>

int main()
{
	int n,i,j;
	//scanf("%d",&n);
	n=4;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(j==0)
			{
			if(i==0)
			printf("*");
			else;
			}
			else	if(j<i)
			printf(" ");
			else 
			printf(" *");
		}
		printf("\n");			
	}
	return 0;	
} 

利用循环输出图案的题目例子
打印菱形图案
打印沙漏

(对于打印图案题目的个人见解)
一般用两层循环,图案高度设置为第一层循环,
一般图案最后形状取决于第二层循环,但是初学时不建议直接就把条件一个个试,这样游戏难度很高的,(所以我采用的是先两个循环一样,打印矩形,然后再看j和i的关系(j>i,j>i-1,j<i等等这种),才开始时我会把这个和一次函数联系起来,所以用些i+j,i-j这种一直调试,其实并不划算的)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值