C语言入门:打印菱形星号“*”图案

题目:

打印菱形星号“*”图案。输入一个正整数n(n为奇数),打印一个高度为n的“*”菱形图案。试编写相应程序。

程序简易流程图如下:





                             


#include<stdio.h>                           /*打印菱形图案*/
int main (void)
{
	int n,j,i;                              /*i为行数,j为每行中的项数*/
	printf("(n为奇数)输入图案高度n:\n");
	scanf("%d",&n);
	if (n<=0||n%2==0)                        /*判断n输入正误*/
		printf("输入错误!");
	else
	{
		for(i=1;i<=n/2+1;i++)               /*打印上三角,(包括中间行)*/
		{
			for(j=1;j<=n/2+i;j++)       
			{
				if(j>=n/2-i+2)
					printf(" *");
				else
					printf("  ");
			}
			printf("\n");
		}
		for(i=n/2;i>=1;i--)               /*打印下三角,(不包括中间行)*/
		{                             /*将i改为倒序,这样就不必再次考虑每行中项的打印,下个for循环可以直接复制上三角部分*/
			for(j=1;j<=n/2+i;j++)         /*这个for循环与上三角一致 */
				if(j>=n/2-i+2)
					printf(" *");
				else
					printf("  ");
			printf("\n");
		}
	}
	return 0;
}

运行结果:

             

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值