输入n,打印n行菱形
代码:
//打印菱形----上半部分
#include<stdio.h>
int main() {
int line = 0;
scanf("%d", &line);
for (int i = 0; i < line/2+1; i++) {
for (int j = (line - 2 * i) / 2; j > 0; j--) {
printf(" ");
}
for (int j =0; j<2*i+1; j++) {
printf("*");
}
printf("\n");
}
//下半部分
for (int i = 1; i <= (line-1)/2 ; i++) {
for (int j = 0; j < i; j++) {
printf(" ");
}
for (int j = line-2*i; j >0; j--) {
printf("*");
}
printf("\n");
}
return 0;
}
思路:
结果:
将菱形变为空心:
#include<stdio.h>
int main() {
int line = 0;
scanf("%d", &line);
for (int i = 0; i < line/2+1; i++) {
for (int j = (line - 2 * i) / 2; j > 0; j--) {
printf(" ");
}
for (int j =0; j<2*i+1; j++) {
if (j == 0 || j == 2 * i) {
printf("*");
}
else {
printf(" ");
}
}
printf("\n");
}
//下半部分
for (int i = 1; i <= (line-1)/2 ; i++) {
for (int j = 0; j < i; j++) {
printf(" ");
}
for (int j = line-2*i; j >0; j--) {
if (j == 1 || j == line - 2 * i) {
printf("*");
}
else {
printf(" ");
}
}
printf("\n");
}
return 0;
}