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