黑马程序员技术交流社区
标题:
给一个不多于5位的正整数,要求:
[打印本页]
作者:
羊口羊口羊
时间:
2015-9-5 23:14
标题:
给一个不多于5位的正整数,要求:
本帖最后由 羊口羊口羊 于 2015-9-6 12:13 编辑
给一个不多于5位的正整数,要求:
①求出它是几位数;
②分别输出每一位数字;
③按逆序输出各位数字,例如原数为321,应输出123。
#include <stdio.h>
int main ( )
{
int num=0; int n=0;
while (num>99999 || num<=0) //如果用户输入的数不符合要求会提示用户重新输入,直到输入正确为止
{
printf ("请输入一个不多于五位的正整数:\n");
scanf ("%d", &num);
if (num>99999 || num<=0)
printf ("输入错误!请重新输入\n");
}
if (num>=10000) n=5;
else if (num>=1000) n=4;
else if (num>=100) n=3;
else if (num>10) n=2;
else n=1;
printf ("它是%d位数\n", n);
int mun=0; //mun指逆序输出的数字。
for (int i=1;i<=n;i++)
{
printf("这个数从右到左第%d位是%d\n",i,(num%10)); //num%10 余数即这个数的个位数
mun=mun*10+num%10;
num=num/10; //通过循环得到num的每位上的数
}
printf ("这个数的逆序是%d\n",mun);
return 0;
}
复制代码
我有在百度上搜索过这道题,也有其他解法,但我觉得我这个相对简单易懂些。请各位多多指教。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2