用c语言编写程序:打印菱形星号“*”图案。输人一个正整数 n(n为奇数),打印一个高度为n的“*”菱形图案

#include<stdio.h>
#include<stdlib.h> //调用标准库来实现如果用户输入的是偶数则退出的操作 
int main()
{
	int i ,j ,k,l;
	int num = 0, mid = 0;
	printf("请输入一个奇数:");
	scanf("%d", &num);
	if (num%2==0) //判断用户是否输入有错 
	{
		printf("输入有错,请输入奇数!");
		exit(0);
	}
	
	mid = num / 2; //矩阵的中间轴,这里需要记住的是不用减一,因为循环是从0开始的 
	for (i=0;i<num;i++)
	{
		if (i<mid) //当行数还未到中心行时的情况 
		{
			for (j=0;j<num;j++)
			{
				if (j>=mid-i&&j<=mid+i)
				{
					printf("*");
				}
				else
				{
					printf(" ");
				}
			}
		}
		
		if (i==mid) //当行数到达中心行的情况,这时一整行都是* 
		{
			for (k=0;k<num;k++)
			{
				printf("*");
			}
		}
		else if (i>mid&&i<num) //当行数超过中心行后,*的数量是每行递减的 
		{
			for (l=0;l<num;l++)
			{
				if (l>=mid-(num-i-1)&&l<=mid+(num-i-1))
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值