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