1215787625 发表于 2023-10-30 20:09:47

为什么输入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;
}

isdkz 发表于 2023-10-30 20:09:53

问题出在这行代码上:

scanf("%d ",&a);


在输入4500时,程序会将4500后面的空格作为输入的一部分,导致程序出现错误。要修复这个问题,只需将代码改为:

scanf("%d",&a);


这样就可以正确读取输入的数字了。
页: [1]
查看完整版本: 为什么输入4500是开头总为0。