题目描述
输入一个不超过30的整数,输出打印出相对应的菱形和空心菱形
程序源码
1.菱形
#include<stdio.h>
int main(){
int n;
int i,j,k;
scanf("%d",&n);
for(i=0;i<n;i++){//先打印菱形的上半部分
for(j=0;j<n-1-i;j++){
printf(" ");
}//打印每行的空格
for(k=0;k<2*i+1;k++){
printf("*");//打印每行星号
}
printf("\n");
}
for(i=0;i<n-1;i++){//打印菱形的下半部分
for(j=0;j<=i;j++){
printf(" ");//打印每行的空格
}
for(k=0;k<2*(n-1-i)-1;k++){
printf("*");//打印每行星号
}
printf("\n");
}
return 0;
}
运行结果
2.空心菱形
#include<stdio.h>
int main(){
int n,count=0;
scanf("%d",&n);
for(int i=0;i<n;i++){//打印空心菱形的上半部分
for(int j=0;j<n-1-i;j++)
printf(" ");//打印左上空格
printf("*");//打印左上部分的图案
for(int k=0;k<2*i-1;k++){
printf(" ");
count++;
}//打印中心的空格
if(count!=0)
printf("*");
printf("\n");
}
for(int i=0;i<n-1;i++){//打印空心菱形的下半部分
for(int j=0;j<=i;j++)
printf(" ");//打印左下部分空格
printf("*");//打印左下部分图案
for(int k=0;k<2*(n-i)-5;k++){
printf(" ");//打印中间部分空格
}
if(i!=n-2)//打印右下部分图案
printf("*");
printf("\n");
}
return 0;
}
运行结果
文案分享
惟其艰难,才更显勇毅;惟其笃行,才弥足珍贵。