这个C语言程序为什么有问题 就是判断一个不大于五位的数的位数,并将各位数字打印出来

2025-06-20 12:28:14
推荐回答(5个)
回答1:

程序是没有问题的,不过要看到结果,就得在主程序末尾添加system("PAUSE");头文件里加上#include ,这样程序执行到输出结果的时候就会停下来,你可以看到结果,然后按任意键结束。如果没有的话程序就直接结束了,一闪而过,你看不到结果的。

回答2:

#include "stdio.h"
main()
{
long int x;int m=0,w[20],i,j,temp;
scanf("%ld",&x);
while(x)
{
w[m]=x%10;
x/=10;
m++;
}
for(i=0,j=m-1;i {
temp=w[i];
w[i]=w[j];
w[j]=temp;
}
printf("%d位数,分别是:\n",m);

for(i=0;i printf("%d ",w[i]);

}

回答3:

#include

int main(){
int a,b,c,d,e,f,x,y;
scanf("%d",&x);
a=x%10;
b=x/10%10;
c=x/100%10;
d=x/1000%10;
e=x/10000%10;
f=x/100000%10;
if(f>0){
printf("大于五位数\n");
}
else{
printf("个位数是%d\n", a);
printf("十位数是%d\n", b);
printf("百位数是%d\n", c);
printf("千位数是%d\n", d);
printf("万位数是%d\n", e);
}
return 0;
}

回答4:

a=(x/10000);
b=(x/1000)%10;
c=(x/100)%10;
d=(x/10)%10;
e=x%10;
if(a>9)
{ printf("error\n");
return ;
}
else if(a!=0) n=5;
else if(b!=0) n=4;
else if(c!=0) n=3;
else if(d!=0) n=2;
else n=1;

这样应该可以了。如果你会循环,就方便多了。

回答5:

你的程序可以呀,我刚运行了,思路很不错,多练习,你会很厉害的,不过小于等于0的结果就不行了