习题4-9 打印菱形图案 (15 分)
本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
输入格式
输入在一行中给出一个不超过10000的正整数N。
输出格式
输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
输入样例
7
输出样例
* * * * * * * * * * * * * * * * * * * * * * * * *
代码
#include<stdio.h>
int main() {
int n;
scanf("%d",&n);
int m = (n+1)/2;
//上半部分
for(int i = 1; i <= m; ++i) {
for(int j = i; j <= m-1; j++){
printf(" ");
}
for(int j = i; j < 3*i-1; ++j){
printf("* ");
}
printf("\n");
}
//下半部分
for(int i = m-1; i > 0; --i) {
for(int j = i; j <= m-1; j++){
printf(" ");
}
for(int j = i; j < 3*i-1; ++j){
printf("* ");
}
printf("\n");
}
return 0;
}
仔细想想其实不难啊,但是做的时候就做了很久orz
还是水平太低…