C语言题目
给一个不多于5位的正整数,要求1、求出它是几位数 2、分别打印出每一位数3、按逆序打印出每一位数字。(例如原数123应输出321)
int x; int n;//位数 int t//逆数 int i; do { printf("请输入不超过5位的正整数!\n"); scanf("%d\n",&x); }while(x>99999||x100)//三位及以上 { if(x>10000)//5位 n=5; else if(x>1000) n=4; else n=3; } else { if(x>10) n=2; else n=1; } t=0; for(i=1;i
这么简单的问题也问啊,这应该算是基本问题吧! 我就不说代码了,只说算法思想。(有两种算法,只说一种) 1、将待测数X依次和10000,1000,100,10求余(待测数X依次被所得余数替换,例:X=X 求余 10000),根据所得结果就可判断出该数是几位数。 2、将上一步每次的余数存入一个一维数组中,再顺序打印出每个数字,最后再逆序打印出该数组中的元素。