#include <stdio.h>
#include <stdlib.h>
int main(){
int l,line,s;
printf("请输入菱形的边长:");
scanf("%d",&l);
for(line=1;line<=l;line++){
for(s=1;s<=l-line;s++){
printf(" ");
}
printf("*");
if(line>1){
for(s=1;s<=2*line-3;s++){
printf(" ");
}
printf("*");
}
for(s=1;s<=l-line;s++){
printf(" ");
}
printf("\n");
}
for(line=1;line<=l-1;line++){
for(s=1;s<=line;s++){
printf(" ");
}
printf("*");
if(l-line>1){
for(s=1;s<=(l-line)*2-3;s++){
printf(" ");
}
printf("*");
}
for(s=1;s<=line;s++){
printf(" ");
}
printf("\n");
}
system("pause");
}
改进版
#include <stdio.h>
#include <stdlib.h>
int main(){
int i,j;
for(i=0;i<9;i++){
for(j=0;j<abs(4-i);j++){
//abs(4-i)==(4-i>0?4-i:i-4)
putchar(' ');
}
for(j=0;j<9-2*abs(4-i);j++){
if(j==0||j==(8-2*abs(4-i))){
putchar('*');
}else{
putchar(' ');
}
}
putchar('\n');
}
system("pause");
}