如何用C语言编程输出沙漏图形
最佳答案
//就是三角形吧?
# include <stdio.h>
# include <stdlib.h>
int gainint(int *p,int a,int b);
int main()
{
int a,i,j,k;
char b[][2]={"*","&"};
printf("输出几层(1-50)?");
gainint(&a,1,50);
//for(i=1;i<=a;i++)
for(i=a;i>=1;i--)
{
for(j=0;j<a-i;j++)
printf(" ");
for(k=0;k<2*i-1;k++)
printf("%s",b[k%2]);
printf("\n");
}
getchar();
}
int gainint(int *p,int a,int b)//p相当于地址,在主函数中传入&a,就是把a的地址传到函数里,那么在函数里就可以改变a的值了
{
int c[2]={0,1};
do{
scanf("%d",p);
while(getchar()!='\n');
if(*p>b||*p<a)
printf("输入有误,请重新输入(%d--%d):",a,b);
}while(*p>b||*p<a);
while(*p/c[1])
{
c[1]*=10;
c[0]++;
}
return c[0];
}
其他回答
暂无其它回答!