C#输入一个五位整数,倒序输出。

代码如下,因为在控制台调试的时候,输入4位或者6位以上之类的数字,它就只会输出5位数,老师问为什么,然后我想用catch语句改下,但是在e=Num%10提示错误,错误提示... 代码如下,因为在控制台调试的时候,输入4位或者6位以上之类的数字,它就只会输出5位数,老师问为什么,然后我想用catch语句改下,但是在e=Num%10提示错误,错误提示是:使用未赋值的局部变量Num。
求解释老师的问题。
展开
 我来答
985967518
推荐于2017-09-28 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109866
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

依次取余,除十知道商等于0;

例如:

//定义两个整数 分别存储输入的数字 和输出的结果
            int num, result;
            Console.WriteLine("请输入要倒序输出的数字");
            num = int.Parse(Console.ReadLine());
            //循环计算 直到输入的数字为0时结束
            while (num != 0)
            {
                //先取出最后的一位数字
                //之后输入这一位数字
                //最后把当前的整数转换为丢失最后一位数字的整数 
                result = num % 10;
                Console.Write(result);
                num /= 10;
            }
            Console.ReadKey();
凌海樱
2014-04-17 · TA获得超过401个赞
知道小有建树答主
回答量:445
采纳率:100%
帮助的人:249万
展开全部
try
{
x = int.Parse(Console.ReadLine());
while (x > 0)
{
t = x % 10;
s = s + t;
x = x / 10;
}
}
catch
{
Console.WriteLine("输入有误,请重新输入!!");
}
这段代码,不论你输入的是几位数,都能将它倒序输出
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gfihfdtjjfdyu
2014-04-17
知道答主
回答量:4
采纳率:0%
帮助的人:2.7万
展开全部
变量要先定义,然后赋值(初始化)才能用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙的猫
2014-04-17 · TA获得超过447个赞
知道小有建树答主
回答量:562
采纳率:73%
帮助的人:267万
展开全部
定义Num的时候赋初始值就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhuhaoxuanzhu
2014-04-17 · TA获得超过555个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:320万
展开全部
1、在try块的语句编译器认为是不一定能执行的,如果其中有语句导致异常,那么会进入catch块,也就是说在Num=int.Parse(Console.ReadLine());执行之前有可能会跳到catch,这样Num就是未赋值的。
2、这样写代码得不到任何关于老师提出的问题的答案。因为只有异常的时候才会执行catch,而只输出5位数不是因为异常,否则程序会报错的。
3、只输出5位数显然是因为你定义了5个变量,也就是a、b、c、d、e。如果用你的思路,你得用数组来保存每一位数,否则Num/10000可能有不止一位的数字。
4、这道题的正解是使用栈,将输入的数字字符串ToCharArray(),依次入栈,然后依次出栈打印即可。代码行数也就7、8行。优点是思路简单,并且可以处理任意位数的数。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式