C#输入一个五位整数,倒序输出。
代码如下,因为在控制台调试的时候,输入4位或者6位以上之类的数字,它就只会输出5位数,老师问为什么,然后我想用catch语句改下,但是在e=Num%10提示错误,错误提示...
代码如下,因为在控制台调试的时候,输入4位或者6位以上之类的数字,它就只会输出5位数,老师问为什么,然后我想用catch语句改下,但是在e=Num%10提示错误,错误提示是:使用未赋值的局部变量Num。
求解释老师的问题。 展开
求解释老师的问题。 展开
6个回答
推荐于2017-09-28 · 知道合伙人教育行家
关注
展开全部
依次取余,除十知道商等于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();
展开全部
try
{
x = int.Parse(Console.ReadLine());
while (x > 0)
{
t = x % 10;
s = s + t;
x = x / 10;
}
}
catch
{
Console.WriteLine("输入有误,请重新输入!!");
}
这段代码,不论你输入的是几位数,都能将它倒序输出
{
x = int.Parse(Console.ReadLine());
while (x > 0)
{
t = x % 10;
s = s + t;
x = x / 10;
}
}
catch
{
Console.WriteLine("输入有误,请重新输入!!");
}
这段代码,不论你输入的是几位数,都能将它倒序输出
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变量要先定义,然后赋值(初始化)才能用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义Num的时候赋初始值就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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行。优点是思路简单,并且可以处理任意位数的数。
2、这样写代码得不到任何关于老师提出的问题的答案。因为只有异常的时候才会执行catch,而只输出5位数不是因为异常,否则程序会报错的。
3、只输出5位数显然是因为你定义了5个变量,也就是a、b、c、d、e。如果用你的思路,你得用数组来保存每一位数,否则Num/10000可能有不止一位的数字。
4、这道题的正解是使用栈,将输入的数字字符串ToCharArray(),依次入栈,然后依次出栈打印即可。代码行数也就7、8行。优点是思路简单,并且可以处理任意位数的数。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询