C打印出钻石形状_钻石形状分类11种

C打印出钻石形状_钻石形状分类11种C打印出钻石形状最近开始看C语言课程设计的书,看到上面又一道题目是让学生实现一个用*打印出Diamand形状,我先自己设计了一个算法,然后再看了书上的算法,下面我将会放出我自己的算法和书上给出的

C打印出钻石形状

最近开始看C语言课程设计的书,看到上面又一道题目是让学生实现一个用*打印出Diamand形状,我先自己设计了一个算法,然后再看了书上的算法,下面我将会放出我自己的算法和书上给出的两种算法:
效果如下:
在这里插入图片描述
下面是我设计的算法:

#include<stdio.h>
void Diamand(int);
int main()
{ 
   
	int number;
	printf(".请输入您要输出的Diamand的大小:");
	scanf("%d",&number);
	Diamand(number);
	return 0;
}

void Diamand(int number)
{ 
   
	int maxStar=2*number-1;
	int i,j,k,space,star;
	
	for(i=1;i<number+1;i++)
	{ 
   
		
		if(i<=(number/2)+1)
		{ 
   
			space=maxStar-i;
			for(j=0;j<space;j++)
				{ 
   
					printf(" ");
				}
			//打印*
			star=2*i-1;
			 for(k=1;k<star+1;k++)
			 { 
   
			 	printf("*");
			 }
			printf("\n"); 
		}
		else
		{ 
   
			int l=(number/2+1)*2-i;
			space=maxStar-l;
			star=2*l-1;
			for(j=0;j<space;j++)
				{ 
   
					printf(" ");
				}
				
			 for(k=1;k<star+1;k++)
			 { 
   
			 	printf("*");
			 }
			printf("\n"); 
		}
	}
	
}

下面是书上给出设计的算法:

void Dimand()
{ 
   
	int i,j,k;
	printf("打印菱形图案\n");
	for(i=1;i<=4;i++)
		{ 
   
			for(j=1;j<=16-i;j++)
				{ 
   
					printf(" ");
				}
			for(k=1;k<=(2*i-1);k++)
				{ 
   
					printf("*");
				}
			printf("\n");
		}
for(i=1;i<=3;i++)
	{ 
   
		for(j=1;j<=i+12;j++)
			{ 
   
				printf(" ");
			}
		for(k=1;k<=(7-2*i);k++)
			{ 
   
				printf("*");
			}
		printf("\n");
	}
}

今天的文章C打印出钻石形状_钻石形状分类11种分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85679.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注