菱形 C语言

打印菱形图案,可以将菱形分成上下两个部分,

数空格时只需数左侧空格,右侧换行即可。

先看一个较为简单的菱形( 以“ * ”字符,9层菱形为例 ):

#include<stdio.h>
int main()
{
	int i,j; // 两个变量i和j 
	for(i=1;i<=5;i++) // 菱形上半部分 
	{
		for(j=i;j<=4;j++)
			printf(" "); // 打印空格 
		for(j=1;j<=(2*i-1);j++)
			printf("*"); // 打印* 
		printf("\n"); // 整行打印完成,换行 
	}
	for(i=1;i<=4;i++) // 菱形下半部分 
	{
		for(j=1;j<=i;j++)
			printf(" "); // 打印空格 
		for(j=1;j<=(9-2*i);j++)
			printf("*"); // 打印* 
		printf("\n"); // 整行打印完成,换行 
	}
	return 0;
}

 运行结果如下:

 再来看一个自定义一般菱形:

#include<stdio.h>
int main()
{
	char a;
	printf("您所期待的菱形由什么样的字符所构成,请输入:\n");
	scanf("%c",&a);
	int high;
	printf("请输入您想要的菱形的层数,请注意是奇数哦!\n");
	scanf("%d",&high);
	
	if(high % 2 != 0)  //判断输入是否为奇数 
	{
		printf("结果如下:\n");
		int i,j;
		for(i=1; i<=(high+1)/2; i++) //上部分 
		{
			for(j=i;j<=(high-1)/2;j++)
				printf(" ");
			for(j=1;j<=(2*i-1);j++)
				printf("%c",a);
			printf("\n");
		}
		for(i=1;i<=(high-1)/2;i++) //下部分 
		{
			for(j=1;j<=i;j++)
				printf(" ");
			for(j=1;j<=(high-2*i);j++)
				printf("%c",a);
			printf("\n");
		}
	}
	
	else  //输入错误,重新输入 
	{
		printf("输入错误,请注意是奇数哦!\n");
		printf("请重新输入:\n");
		while(high%2==0)
			scanf("%d",&high);
		printf("结果如下:\n");
		int i,j;
		for(i=1; i<=(high+1)/2; i++)
		{
			for(j=i;j<=(high-1)/2;j++)
				printf(" ");
			for(j=1;j<=(2*i-1);j++)
				printf("%c",a);
			printf("\n");
		}
		for(i=1;i<=(high-1)/2;i++)
		{
			for(j=1;j<=i;j++)
				printf(" ");
			for(j=1;j<=(high-2*i);j++)
				printf("%c",a);
			printf("\n");
		}
	}
	
	return 0;
}

 运行结果如下:

此外,还可以修改菱形颜色和清除屏幕 :

修改颜色:system("color AB"); 

第一个数字A表示背景色,第二个数字B表示文字颜色,

(若只有一个数字则只设置文字颜色,背景色为默认颜色)

例如:"system("color 2f");"为绿底白字。

清除屏幕:syetem("cls"); 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值