题目的大体意思是:编程
输入一个正整数,把各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数.数组
为何写这个题呢?
编码
这几天,老师给咱们布置的做业之一就是这道题,由于咱们班尚未学数组,因此不少同窗感到比较困难,因此这里主要讲不用数组的方法。spa
一:首先,咱们要先来分析这个问题:blog
1:完成这个任务续要那些数据?io
2:怎么获取这些数据?变量
3:而后怎么经过数据的处理来输出要求结果。循环
(主要呢就是这三个问题,若是有漏掉的还请指出,以便进一笔完善。)float
答:程序
1:咱们要获取那些位是偶数,那些不是,
即:共有多少位奇数。
2:经过if语句判断某位除以二的余数是否是0,进而得以判断是否是偶数。
(固然,分离各位仍是个问题,文章后面会插个地方讲一下。)
3:怎么处理数据呢,由于咱们要输出重组的新数,咱们能够真正的把它变成一个多位数在输出,也能够一个一个的输出,中间只要没空格就行呗。(不过顺序就是个问题了,固然用数组就能够完美解决)😀
OK如今问题分析完毕。
二:整体来看一下咱们须要那几部分编码。(由于有多重方法,讲一下其中比较麻烦的一种方法,其余几种方法后面会集中在进行概述。固然只是为了让你们加深对编程的理解与运用,不过实际上机考试之类的仍是要取最简单的方法。)
先看有多少位奇数(主要就是分离各位)
1:先大概说一下分离各位,(固然会的就能够直接跳过,往下看了)
经过某数对十求余,可得最后一位,而后该数除十在新欢往复,固然若是出十以后为零了,就不用继续了。
OK,如今编码求多少位奇数的语句
。
OK,下一步。
2:第二部有点麻烦,须要在具体解释一下:
直接输出的话会倒序,因此要作别的处理。
因此咱们要用别的方法,我先说一种比较麻烦的
:咱们说要输出的数呢,是一个整数,能够理解最后一位*10的零次幂,倒数第二位*10的一次幂·····。
因此,有了方法,就要看怎么编码::
以奇数的位数为判断标准,分别判断各个位数,并把奇数为分别乘以10的依次次幂,而后求和,加完后跳出,并输出所求之和,即为要求值。
如今编码。
这里就不发部分编码了,把上面的合并了,一块发出来