SCAU高级语言程序设计--实验6 循环结构(二)(3)
三、单元测试
题目:打印星号空心菱形
思路:这次参考实验6堂上限时习题2了。
修改地方2个:
1)一个是行数判断。n=m/2+1;
2)输入样式加入一个头尾判断。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int m,n,i,j;
scanf("%d",&m);//输入半层数,例如上图为4.
n = m/2+1;//修改的算法
for(i=1-n;i<=n-1;i++){//第几层、
//空格输出
for(j=0;j<abs(i);j++)
printf(" ");//先输入空格
//图案输出
for(j=0;j<2*(n-abs(i))-1;j++)
if(j==0 || j==2*(n-abs(i))-2 )
printf("*");//头尾输入*数
else
printf(" ");//中间输出空格
//结束后换行
printf("\n");//记得换行
}
return 0;
}