为什么输入4500是开头总为0。
#include <stdio.h>#include <math.h>
int main()
{
int a,c,e,s,p,q;
do{
scanf("%d ",&a);
e = 0;
s = a;
do{
a /= 10;
e = ++e;
}while(a>0);
e = e/2;
c = pow(10,e);
p = pow(10,e-1);
q = s%c;
if(q<e)
q = q-1+1;
if(s>0){
printf("%d%d\n",s%c,s/c);}
}while(s != 0||s<0);
return 0;
}
问题出在这行代码上:
scanf("%d ",&a);
在输入4500时,程序会将4500后面的空格作为输入的一部分,导致程序出现错误。要修复这个问题,只需将代码改为:
scanf("%d",&a);
这样就可以正确读取输入的数字了。
页:
[1]