用C语言打印一个用星号组成的菱形。
用星号组成一个正的三角形和一个倒的三角形就可以得到一个菱形;
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
printf("请输入菱形一边的层数:");
scanf("%d",&num);
for(int i=1;i<=num;i++){
for(int j=1;j<=(num-i);j++){
printf(" ");
}
for(int n=1;n<=(2*i-1);n++){
printf("*");
}
printf("\n");
}
for(int m=num-1;m>0&&m<=num;m--){
for(int x=1;x<=(num-m);x++){
printf(" ");
}
for(int y=1;y<=(2*m-1);y++){
printf("*");
}
printf("\n");
}
return 0;
}
运行结果如下:
使用两个双重for循环,一个形成正的三角形,另一个形成倒的三角形,需要注意的是,倒三角的层数是正三角层数减一,依次逻辑便可以得到菱形。
希望可以帮助您。