您的位置:首页 > 编程语言 > C语言/C++

用C语言实现打印菱形

2017-02-24 08:50 501 查看
用C语言实现打印一个空心的菱形,菱形的高度由用户输入。

/*
函数的功能是打印一个空心的菱形,菱形的总高度由用户输入
根据菱形的特性,高度应该是一个奇数,如果输入偶数,根据程序的
算法,是将该偶数加1作为新的高度来打印菱形
*/

#include<stdio.h>
#include<stdlib.h>

int main(void){
int n;
printf("请输入要打印的菱形的高度:\n");
printf("(高度应该为奇数,如若是偶数则自动在该数值上面加1作为打印的高度)\n");
scanf("%d",&n) ;
for(int i=1;i<=n/2+1;i++){ //先打印菱形的上半部分,此时包含了中间的那一部分由n/2+1来体现
for(int j=1;j<=n/2+1-i;j++){ //根据每一行i来决定要打印的空格数
printf(" ");
}
printf("*"); //打印完空格后,打印第一个*
if((2*i-3)<1){ //根据行数i判断该行有没有必要打印第二*,如果有的话判断值应该是大于等于1;如果没有则直接换行并继续循环
printf("\n");
continue;
}
for(int j=0;j<(2*i-3);j++){ //根据行数i判断要打印的中间的空格,打印完之后,再打印最后的*,至此循环结束
printf(" ");
}
printf("*\n");

}
for(int i=n/2;i>=1;i--){ //在打印菱形的下半部分 ,其分析同上
for(int j=1;j<=n/2+1-i;j++){
printf(" ");
}
printf("*");
if((2*i-3)<1){
printf("\n");
continue;
}
for(int j=0;j<(2*i-3);j++){
printf(" ");
}
printf("*\n");
}

return 0;
}

用C语言实现打印实心的菱形,菱形的高度由用户输入。该函数的代码实现,分析同上
/*
函数的功能是打印一个实心的菱形,菱形的总高度由用户输入
根据菱形的特性,高度应该是一个奇数,如果输入偶数,根据程序的
算法,是将该偶数加1作为新的高度来打印菱形
*/

#include<stdio.h>
#include<stdlib.h>

int main(void){
int n;
printf("请输入要打印的菱形的高度:\n");
printf("(高度应该为奇数,如若是偶数则自动在该数值上面加1作为打印的高度)\n");
scanf("%d",&n) ;
for(int i=1;i<=n/2+1;i++){
for(int j=1;j<=n/2+1-i;j++){
printf(" ");
}
for(int j=0;j<2*i-1;j++){
printf("*");
}
printf("\n");
}
for(int i=n/2;i>=1;i--){
for(int j=1;j<=n/2+1-i;j++){
printf(" ");
}
for(int j=0;j<2*i-1;j++){
printf("*");
}
printf("\n");

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: