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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#输入一个五位整数,倒序输出。相关的知识,希望对你有一定的参考价值。

代码如下,因为在控制台调试的时候,输入4位或者6位以上之类的数字,它就只会输出5位数,老师问为什么,然后我想用catch语句改下,但是在e=Num%10提示错误,错误提示是:使用未赋值的局部变量Num。
求解释老师的问题。

依次取余,除十知道商等于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();
参考技术A try

x = int.Parse(Console.ReadLine());
while (x > 0)

t = x % 10;
s = s + t;
x = x / 10;


catch

Console.WriteLine("输入有误,请重新输入!!");

这段代码,不论你输入的是几位数,都能将它倒序输出本回答被提问者采纳
参考技术B 变量要先定义,然后赋值(初始化)才能用 参考技术C 定义Num的时候赋初始值就行了 参考技术D 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行。优点是思路简单,并且可以处理任意位数的数。

输入一个正整数N,输出它的英文表达。[C语言]

输入一个正整数N,输出它的英文表达。例如:输入1,输出one;输入12,输出twelve;输入135,输出one hundred thirty five……。编写程序实现之。

#include <iostream>
#include<string>
#include <vector>
#include<sstream>
using namespace std;
using namespace std;
string digits[20]="",
"ONE","TWO", "THREE","FOUR","FIVE",
"SIX","SEVEN","EIGHT","NINE","TEN",
"ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN",
"FIFTEEN","SIXTEEN","SEVENTEEN","EIGHTEEN","NINETEEN"
;
string tens[10]="","",
"TWENTY","THIRTY","FORTY", "FIFTY","SIXTY","SEVENTY","EIGHTY","NINETY";
string hunds[10]="",
"ONE HUNDRED","TWO HUNDRED", "THREE HUNDRED","FOUR HUNDRED","FIVE HUNDRED",
"SIX HUNDRED","SEVEN HUNDRED","EIGHT HUNDRED","NINE HUNDRED"
;

int main()

int m;
double n;
while(cin>>n)

m=(int)n;
if(m<=1)
cout<<(m?"ONE":"ZERO");
else

int f1=0;
if(m!=0)

if(m/100>0)

cout<<hunds[(int)(m/100)];
f1=1;

m=m-(int)(m/100)*100;
if(m/10>1)

if(f1)
cout<<" ";
cout<<tens[(int)(m/10)];
m=m-(int)(m/10)*10;
if(m>0)
cout<<" "<<digits[m];

else

if(m>0)

if(f1)
cout<<" ";
cout<<digits[m];



else
cout<<"ZERO";


int cents = ((n+0.005)-(int)n)*100;
cout<<"\n";

return 0;
//范围是0-999
参考技术A 这样吧,我告诉你思想,编程我就不了。
1.你可以将一个整数N利用他对10的倍数进行取余,比1234,为1,2,3,4
2,最后,将整数N,的每一位按照从高们到低位放到一个数组中,然后利用swith语句对比,如果是1就给出one,2 tow,3,three,比如1234的每一位是从高位到低位1,2,3,4放入数组a中,.利用
for(i=0;i<N.length,i++)//a.length为整数N的位数
int num;
switch(num=a[i])
case 1:printlf("one");break;
case 2:printf("two);break;
........................
希望对你有帮助!
貌似我理解错你的意思了!
参考技术B ‘\t’是字符,是一个转义字符,转义字符很多,而且‘\t’还可以表示‘空白符’相当于8个空格;类似的还有,空格符,‘\r’,‘|n’,等都可以表示空白符,windows下的c语言‘\n’是回车与换行的综合,linux就是分开的

以上是关于C#输入一个五位整数,倒序输出。的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何实现输入一个整数实现倒序输出

c语言输入一个整数,用递归算法将整数倒序输出.

C语言任意输入一个有五位数字的正整数,逆序输出每一数位上的数字 如输入12345 输出5 4 3 2 1

C语言、输入四位数、倒序输出。

c语言用循环的方法,把输入的一个整数,倒序输出

利用Python实现倒序任意整数