标题:c#程序控制台一个整数。在逆序输出!如123,输出则是321!写的越简单越好, ...
只看楼主
噼里啪啦物
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-10-23
结帖率:100%
已结贴  问题点数:20 回复次数:20 
c#程序控制台一个整数。在逆序输出!如123,输出则是321!写的越简单越好,一看就懂
c#程序控制台一个整数。在逆序输出!如123,输出则是321!写的越简单越好,一看就懂
搜索更多相关主题的帖子: 逆序 整数 程序控制 输出 
2010-10-24 17:39
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
得分:0 
这有什么用?

努力,哈哈,总有一天会变成高手~~~~~~因为我相信:没有办不到,只有想不到!http://t..cn/fpress
2010-10-24 18:04
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
  
程序代码:
    class Program
    {
        static void Main(string[] args)
        {
            int a = 123;
            int b = 0;
            while (a > 0)
            {
                b = b * 10 + a % 10;
                a /= 10;
            }
            Console.WriteLine(b);
        }
    }


重剑无锋,大巧不工
2010-10-24 18:18
噼里啪啦物
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-10-23
得分:0 
回复 2楼 cxwl3sxl
对我来说有用!由浅入深慢慢学!
2010-10-24 18:33
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:20 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a=0;
            Console.WriteLine("Please input a Number:");
            try
            {
                a = Convert.ToInt16(Console.ReadLine()); //输入数字
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            int len = a.ToString().Length; //把数字当做字符串处理,取得其长度
            string str = a.ToString();
            string temp="";
            for (int i = 0; i < len; i++)
            {
                temp += str.Substring(len -1- i, 1); //每次从最后一个开始向前逆序排列
            }
            int output = Convert.ToInt16(temp);
            Console.WriteLine("The output is:" + output); //输出
            Console.ReadLine();
        }
    }
}
2010-10-24 19:12
hxxiaoxiao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:29
专家分:81
注 册:2010-10-13
得分:0 
5楼这个可以稍微改下,int应该对应的是Int32,所以int output = Convert.ToInt32(temp);或者int output = int.Parse(temp);
不过只要大小不超过int16的范围,这么写也可以
3楼的比较短,但是数学方法,不太符合习惯性逻辑。
2010-10-25 01:14
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
有些纠结,不知道该说什么好
本来就只是把整数倒过来,为什么非要绕弯路转换成字符串?
我的算法核心就那么两句,很难理解么?
既然大家喜欢字符串,就写一个字符串的吧
程序代码:
using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        int a = 1234567;
        char[] b = a.ToString().ToCharArray();
        Array.Reverse(b);
        string c = new string(b);
        Console.WriteLine(c);
    }
}
如果不知道Array.Reverse()的用法,那么还可以这么做
程序代码:
using System;
class Program
{
    static void Main(string[] args)
    {
        int a = 1234567;
        char[] b = a.ToString().ToCharArray();
        int c = b.Length / 2;
        for (int i = 0; i < c; i++)
        {
            char tmp = b[i];
            int d = b.Length - i - 1;
            b[i] = b[d];
            b[d] = tmp;
        }
        string e = new string(b);
        Console.WriteLine(e);
    }
}

 

重剑无锋,大巧不工
2010-10-25 08:28
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:0 
各人理解不同,自然使用的方法有所差别--条条大路通罗马吗,哈哈!!
2010-10-25 09:20
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
得分:0 
呵呵

www.qysy.tk
2010-10-26 19:01
kpmazda
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-10-26
得分:0 
以下是引用c1_wangyf在2010-10-24 19:12:55的发言:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a=0;
            Console.WriteLine("Please input a Number:");
            try
            {
                a = Convert.ToInt16(Console.ReadLine()); //输入数字
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            int len = a.ToString().Length; //把数字当做字符串处理,取得其长度
            string str = a.ToString();
            string temp="";
            for (int i = 0; i < len; i++)
            {
                temp += str.Substring(len -1- i, 1); //每次从最后一个开始向前逆序排列
            }
            int output = Convert.ToInt16(temp);
            Console.WriteLine("The output is:" + output); //输出
            Console.ReadLine();
        }
    }
}
5楼这个LOOP,可以解释下吗?
小弟不太明白...

for (int i = 0; i < len; i++)
            {
                temp += str.Substring(len -1- i, 1); //每次从最后一个开始向前逆序排列
            }
            int output = Convert.ToInt16(temp);
2010-10-27 16:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-323856-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029322 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved