打印沙漏

1).实验代码

include <stdio.h>

int main(int argc, char argv[]) {
int i,su,k,j,m,n,kong,ge;
char fuhao;
while(1){
scanf("%d %c",&su,&fuhao);
if(su>0&&su<=1000)
break;
}
k=su-1;
for(i=3;k>=2
i;i+=2){
k=k-2*i;
}
//k,i,不能动;
i-=2;
n=i;
for(kong=0;i>=1;i-=2,kong++){
for(j=0;j<kong;j++)
printf(" ");
for(j=0;j<i;j++)
printf("%c",fuhao);
printf(" ");
}
ge=kong-2;
for(m=3;m<=n;m+=2,ge--){
for(j=0;j<ge;j++)
printf(" ");
for(j=0;j<m;j++)
printf("%c",fuhao);
printf(" ");
}
printf("%d",k);
return 0;
}

2)设计思路
输入变量;
使用while for语句

3)本题调试过程碰到问题及解决方法

请教发现是while和for语句颠倒

4)运行结果截图

原文地址:https://www.cnblogs.com/zcl666/p/10406930.html