当前位置: 代码迷 >> C语言 >> [求助]代码出错,请帮忙
  详细解决方案

[求助]代码出错,请帮忙

热度:182   发布时间:2005-03-26 00:40:00.0
[求助]代码出错,请帮忙
/*四。对if语句的熟悉 给一个不多于5位的正整数,要求 1.求出它是几位数 2.分别打印出每一个数字 3.按逆序打印出各位数字,原数为123,应输出321 */ #include<stdio.h> void main() { int x,n,m; printf("please enter the number 1~99999:\n"); scanf("%d",&x); if(x>10000&&x<99999) { printf("the number is 5 weishu\n"); //写到这里做第2个要求分别打印的时候出错了我看不出来 n=x/10000; m=x%10000; printf("%d\n",n); n=m; n=n/1000; m=n%1000; printf("%d\n",n); n=m; n=n/100; m=n%100; printf("%d\n",n); n=m; n=n/10; m=n%10; printf("%d\n%d\n",n,m); //不知道为什么,取后面3位数的时候老出错,全是0,郁闷 } else if(x>1000&&x<9999) printf("the number is 4 weishu\n"); else if(x>100&&x<999) printf("the number is 3 weishu\n"); else if(x>10&&x<99) printf("the number is 2 weishu\n"); else if(x>1&&x<9) printf("the number is 1 weishu\n"); }

我们现在只学到用IF语句,麻烦谁帮我看看其中5位数那段怎么错了,刚做到第2个要求把数分别打出来。

上面的代码只写了一点,还没考虑到倒转输出就卡住了。麻烦大家帮帮我,谢谢

还有我的英文很糟糕,5weishu就是5位数=。=

搜索更多相关的解决方案: 代码  

----------------解决方案--------------------------------------------------------
呵呵,要不要再自己想想?
给你个提示

n=n/1000;      
m=n%1000;

n=n/100;
m=n%100;

n=n/10;
m=n%10;


你能看出这些语句每两个组合放在一起会有什么问题吗?

----------------解决方案--------------------------------------------------------
啊,我明白了,N=N/100是赋值了啊,太感谢你了!!
我也是才从别的论坛找到这个论坛的,真是好地方,不直接给答案,带领我思考。
非常感谢你!
我是刚开始学习编程的,以后还要多麻烦大家。
再次感谢朋友们,以后我会经常来讨教的。
时间不早了,明天起来再编,以免老爸发标。
早点休息吧~~
----------------解决方案--------------------------------------------------------
对if语句的熟悉 给一个不多于5位的正整数,要求 1.求出它是几位数 2.分别打印出每一个数字 3.按逆序打印出各位数字,原数为123,应输出321
#include<stdio.h> void main() { int x,n1,n2,n3,n4,m; printf("please enter the number 1~99999:\n"); scanf("%d",&x); if(x>=10000&&x<=99999) { printf("the number is 5 weishu\n"); m=x%10000; n1=x/10000; printf("%d\n",n1); n2=m; m=n2%1000; n2=n2/1000; printf("%d\n",n2); n3=m; m=n3%100; n3=n3/100; printf("%d\n",n3); n4=m; m=n4%10; n4=n4/10; printf("%d\n%d\n",n4,m); printf("翻转打印:%d %d %d %d %d\n",m,n4,n3,n2,n1); } else if(x>=1000&&x<=9999) { printf("the number is 4 weishu\n"); m=x%1000; n1=x/1000; printf("%d\n",n1); n2=m; m=n2%100; n2=n2/100; printf("%d\n",n2); n3=m; m=n3%10; n3=n3/10; printf("%d\n%d\n",n3,m); printf("翻转打印:%d %d %d %d\n",m,n3,n2,n1); } else if(x>=100&&x<=999) { printf("the number is 3 weishu\n"); m=x%100; n1=x/100; printf("%d\n",n1); n2=m; m=n2%10; n2=n2/10; printf("%d\n%d\n",n2,m); printf("翻转打印:%d %d %d\n",m,n2,n1); } else if(x>=10&&x<=99) { printf("the number is 2 weishu\n"); m=x%10; n1=x/10; printf("%d\n%d\n",n1,m); printf("翻转打印:%d %d\n",m,n1); } else if(x>=1&&x<=9) { printf("the number is 1 weishu\n"); printf("%d",x); printf("翻转打印:%d",x); } }
做出来了,呵呵,谢谢神vLinux飘飘给予我的帮助。

[此贴子已经被作者于2005-3-26 19:59:40编辑过]


----------------解决方案--------------------------------------------------------
浏览器不能运行C代码的
----------------解决方案--------------------------------------------------------
  相关解决方案