C程序设计第四章习题9
给一个不多于4位的正整数,要求打印这个数是几位数,为什么运行结果不对,求指导。(C程序设计第四章习题9)不论输入什么数字,x始终等于4。
#include <stdio.h>
int main()
{
int num,x;
printf("input a number:\n");
scanf("%d",&num);
if(num%1000==0)
{
if(num%100==0)
{
if(num%10==0)
{
x=1;
}
else x=2;
}
else x=3;
}
else x=4;
printf("x=%d\n",x);
printf("num=%d\n",num);
}
本帖最后由 405794672 于 2020-6-16 15:40 编辑
你。。。。。。。
你要搞明白什么叫取余
数字取余1000=0,表示它正好被1000整除。假如我是2000呢?,就不符合等于4了
而且只是正好整除才不符合,其它都符合。包括,如果我输入的是1,那么它取余1000,结果为1
也就符合你的else了。也就x=4了。
你应该是除以而不是取余。if(x/1000==0) 405794672 发表于 2020-6-16 15:38
你。。。。。。。
你要搞明白什么叫取余
数字取余1000=0,表示它正好被1000整除。假如我是2000呢?,就不 ...
谢谢~
页:
[1]