要求是:
1)如果输入的是正整数则输出一个菱形;
2)如果输入零或负整数,则让重新输入;
3)如果输入的不是整数的字符串,比如字母,或者符号等,则程序结束。
求助:
现在1)和2)我都做到了,3)怎么实现??
求教各位高手!!!
void main()
{
int i,j,k,l;
here:
printf("请输入一个自然数:");
scanf("%d",&k);
if(k<=0)
{
printf("请重新输入^^\n"); goto here;
}
else if(k=0)
return;
else if(k>0)
{
for(i=0;i<k;i=i+1)
{ for(j=0;j<k-i;j=j+1)
{
printf(" ");
}
for(l=0;l<i*2+1;l=l+1)
{
printf("*");
}
printf("\n");
}
for(i=k-1;i>0;i--)
{
for(j=0;j<k-i+1;j=j+1)
{
printf(" ");
}
for(l=0;l<i*2-1;l=l+1)
{
printf("*");
} printf("\n");
}
goto here;
}
else
return;
}
1)如果输入的是正整数则输出一个菱形;
2)如果输入零或负整数,则让重新输入;
3)如果输入的不是整数的字符串,比如字母,或者符号等,则程序结束。
求助:
现在1)和2)我都做到了,3)怎么实现??
求教各位高手!!!
void main()
{
int i,j,k,l;
here:
printf("请输入一个自然数:");
scanf("%d",&k);
if(k<=0)
{
printf("请重新输入^^\n"); goto here;
}
else if(k=0)
return;
else if(k>0)
{
for(i=0;i<k;i=i+1)
{ for(j=0;j<k-i;j=j+1)
{
printf(" ");
}
for(l=0;l<i*2+1;l=l+1)
{
printf("*");
}
printf("\n");
}
for(i=k-1;i>0;i--)
{
for(j=0;j<k-i+1;j=j+1)
{
printf(" ");
}
for(l=0;l<i*2-1;l=l+1)
{
printf("*");
} printf("\n");
}
goto here;
}
else
return;
}