给出一个十进制n,要求:
1.求出它是几位数 GetFigures(n)
此题利用循环的知识,每循环一次除去位数,并保存这个新值,直到此值为零,循环结束;保存循环的次数,既十进制n的位数。这里使用while-do的循环,考虑到n为零时,位数应该为1,所以应该进行一次循环,而while-do符合这个条件;使用while-do时应该注意在while后加封号。
2.分别输出每一位数字 PrintOrder(n)
该题是要求按顺序输出各位数字,例如n为123,应输出1 2 3,输出第一位数,丢掉后面的数字,要使用除法;计算出第一位数字所在的位数是使用循环的前提,则需调用问题一的函数计算出n的第一个数的位数减一个十相乘;用除法计算第一位数,并且输出第一个数,用取余的方法得到第一个数后面的数字,保存这个值赋值给n,直n为零时,循环结束。
3.按逆序输出各位数字,例如原数为321,应输出123 PrintReverse(n)
根据题意是逆序输出,也就是从个位数开始输出;用while-do循环,先对十进制n余十,并且在循环里输出,随后在循环里去掉最后一位,并保存这个数到n,直到n为零,循环结束;简单来说就是余十除十。
#include<stdio.h><