信息采集 一个整数 反转顺序(通常将数存进数组,而后反向输出)
下面为本人写的代码(若有错误,请指出,本人新手):
//Class1.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CSharpTest { class Class1 { //test 1 public void reverse(int i) { int minus = 0; if (i < 0) { i = Math.Abs(i); minus = 1; } if (i == 0) { Console.WriteLine("这样输入没有意义!"); return; } //求位数 m 也能够将i转化成string类型 而后s.Length求得位数 int m = 0; int ii = i; for (int a = 0; ii>0; a++) { ii /= 10; m++; } //定义位数的除数 int n = (int)Math.Pow(10, (m-1)); int[] ary = new int[m]; //求得最高位的值 int iii = i / n; ary[0] = iii; //依次求得2 3 4..位的值 for (int b = n, c = 1; b > 1; b /= 10, c++) { if (b / 10 > 0) { iii = (i % b) / (b / 10); ary[c] = iii; } } //反转数组 if (minus == 1) { Console.Write("-"); } for (int a = m-1; a >=0 ; a--) { Console.Write(ary[a]); } } } } //Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CSharpTest { class Program { static void Main(string[] args) { Class1 c = new Class1(); Console.WriteLine("请输入一个整数:"); int i =Convert.ToInt32( Console.ReadLine()); Console.WriteLine("输出的结果是:"); c.reverse(i); Console.Read(); } } }
运行结果以下:
一、输入-1234
输出-4321
二、输入+1234
输出4321
三、输入1234
输出4321