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();
}
}
}