C#程式設計--輸入一個整數,按數字反順序輸出
阿新 • • 發佈:2019-02-19
資訊採集 一個整數 反轉順序(一般將數存進陣列,然後反向輸出)
下面為本人寫的程式碼(如有錯誤,請指出,本人新手):
//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(); } } }
執行結果如下:
1、輸入-1234
輸出-4321
2、輸入+1234
輸出4321
3、輸入1234
輸出4321