我要学C#语言程序设计【解题篇】(三):输入一个整数,倒序输出

题目

 

输入一个整数,倒序输出

 

出题目的

 

该题目目的是让初学者能够在实际运用中使用数学思维去解决问题,能够通过这道题目去逐步掌握要解答这道题目需要掌握的知识点及相关技能,然后通过一步一步分析解题思路,最终能够自己写出代码,完成题目。

 

题目分析

 

该题目旨在让用户输入一个整数(正整数),然后通过计算机的运算,来倒序输出。比如:输入:53574运算后得到:47535

 

技能需求

 

变量、数据类型 、运算符、 输入输出、while循环语句

 

技能回顾

 

变量:变量是被命了名字的一块内存空间,在程序运行时值能够发生改变的量。变量可以视为一个容器,该容器存储的数据是由定义该变量的数据类型决定的。

数据类型:数据类型是一个值的集合以及定义在这个值集上的一组操作。

运算符:运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。

输入输出:控制台的输入使用了Console类

while循环语句:while循环语句为:根据当前条件的真假来进行判断是否执行该循环,如果为真则执行假则不执行,通常在执行期间该条件会在一定条件下改变。

 

解题思路

 

知道了这道题目会使用到的知识点后,我们来看看如何解决这道题。

先对这道题目进行简单的分析:

输入一个整数:如98467,倒序输出结果是:76489那么如何将这个数字倒序输出呢?

首先我们观察一下这个数字:98467,如何取出其中的最后一位7呢??

有同学在想可以放在字符串中,取字符串的最后一位即可,但是我必须要声明,这道题要使用数学方法。

囧。。。囧。。。

我们想想如何在一个整数里面取最后一位7呢??

好先简单的提示一下:5/2=? 有同学马上就说:等于2;那么如何让这个等式等于1呢??

。。。千万别忘记了还有%(取模运算符)哦。最终5%2=1;

这样一来我们取98467里面的7即可以让98467%10000或者98467%1000或者98467%100或者98467%10;

到底是%10000呢还是%100或者是其他???

举个反例:如果用户输入了一个两位数:23;取3怎么办呢?肯定是不能%100,只能是10了。

此时我们就发现一个规律,任意一个数组%10都可以取出他的个位数字。

好,第一步取个位数字我们已经成功,如何取出十位上的数字呢?

98467如何取出6这个数字? 我们想想7已经取出来了,是不是就不需要了呢?那么我们删除7后是那个数字??9846

同理可得:9846%10=6

可以看出这是一个简单的循环。那么循环终止的条件是什么??想想当我们把这个数98467的所有位数都取出来了之后,这个数变成多少了??

答案是:0;如果这个数变为0即为循环终止的条件。

 

 

代码步骤

 

1. 定义两个变量 分别来存储输入的整数和取出的数字

2. 从界面获取输入的整数

3. 循环输出计算结果

 

代码详解

 

 

            //定义两个整数 分别存储输入的数字 和输出的结果
            int num, result;
            Console.WriteLine("请输入要倒序输出的数字");
            num = int.Parse(Console.ReadLine());
            //循环计算 直到输入的数字为0时结束
            while (num != 0)
            {
                //先取出最后的一位数字
                //之后输入这一位数字
                //最后把当前的整数转换为丢失最后一位数字的整数 
                result = num % 10;
                Console.Write(result);
                num /= 10;
            }
            Console.ReadKey();

 

 

运行效果

 

 

 

作者:记忆逝去的青春 出处:http://www.cnblogs.com/lukun/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过http://www.cnblogs.com/lukun/ 联系我,非常感谢。

  

 

posted on 2012-08-22 14:27  记忆逝去的青春  阅读(14219)  评论(1编辑  收藏  举报