浙大版《C语言程序设计(第4版)》题目集参考答案
本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
输入格式:
输入在一行中给出一个正的奇数n。
输出格式:
输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
输入样例:
7
输出样例:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
提交结果:
基本思路:
找出规律先打印上半部分,再打印下半部分
代码实现:
#include<stdio.h>
int main(){
int n=0,i=0,j=0,k=0,s=0,x=0;
scanf("%d",&n);
s=n/2+1; //上半部循环次数
for(i=0;i<s;i++){ //输出上一半图形
for(j=1;j<n-2*i;j++){ //输出上半部的空格
printf(" ");
}for(k=1;k<=2*i+1;k++){ //输出*图形
printf("* ");
}
printf("\n");
}
x=n/2; //下半部循环次数
for(i=1;i<=x;i++){ 输出下一半图形
for(j=1;j<=2*i;j++){ //输出下半部的空格
printf(" ");
}for(k=1;k<=n-2*i;k++){ //输出*图形
printf("* ");
}
printf("\n");
}
return 0;
}
欢迎提问和纠错,共同讨论一起进步!