给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字.应准备以下测试数据:要处理的数为1位正整数;要处理的数为2位正整数;要处理
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 07:08:19
![给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字.应准备以下测试数据:要处理的数为1位正整数;要处理的数为2位正整数;要处理](/uploads/image/z/3689756-44-6.jpg?t=%E7%BB%99%E4%B8%80%E4%B8%AA%E4%B8%8D%E5%A4%9A%E4%BA%8E5%E4%BD%8D%E7%9A%84%E6%AD%A3%E6%95%B4%E6%95%B0%2C%E8%A6%81%E6%B1%82%EF%BC%9A%E2%91%A0%E6%B1%82%E5%87%BA%E5%AE%83%E6%98%AF%E5%87%A0%E4%BD%8D%E6%95%B0%EF%BC%9B%E2%91%A1%E5%88%86%E5%88%AB%E6%89%93%E5%8D%B0%E5%87%BA%E6%AF%8F%E4%B8%80%E4%BD%8D%E6%95%B0%E5%AD%97%EF%BC%9B%E2%91%A2%E6%8C%89%E9%80%86%E5%BA%8F%E6%89%93%E5%8D%B0%E5%87%BA%E5%90%84%E4%BD%8D%E6%95%B0%E5%AD%97.%E5%BA%94%E5%87%86%E5%A4%87%E4%BB%A5%E4%B8%8B%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE%EF%BC%9A%E8%A6%81%E5%A4%84%E7%90%86%E7%9A%84%E6%95%B0%E4%B8%BA1%E4%BD%8D%E6%AD%A3%E6%95%B4%E6%95%B0%EF%BC%9B%E8%A6%81%E5%A4%84%E7%90%86%E7%9A%84%E6%95%B0%E4%B8%BA2%E4%BD%8D%E6%AD%A3%E6%95%B4%E6%95%B0%EF%BC%9B%E8%A6%81%E5%A4%84%E7%90%86)
给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字.应准备以下测试数据:要处理的数为1位正整数;要处理的数为2位正整数;要处理
给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字.
应准备以下测试数据:
要处理的数为1位正整数;
要处理的数为2位正整数;
要处理的数为3位正整数;
要处理的数为4位正整数;
要处理的数为5位正整数.
除此之外,程序还应当对不合法的输入作必要的处理.例如:
输入负数;
输入的数超过5位(如123 456).
给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字.应准备以下测试数据:要处理的数为1位正整数;要处理的数为2位正整数;要处理
#include
void main()
{
int a,b,c,d,e;
unsigned int i;//定义i位无符号的整型变量
printf("please enter the number:\n");
scanf("%u",&i);
int m;
a=i/10000;
b=(i-a*10000)/1000;//求万位数
c=(i-a*10000-b*1000)/100;//求千位数
d=(i-a*10000-b*1000-c*100)/10;//求十位数
e=(i-a*10000-b*1000-c*100)%10;//求个位数
if(a!=0)
{
m=5;//5位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d,%d,%d,%d,%d\n",a,b,c,d,e);
printf("逆序输出各位数字:%d%d%d%d%d\n",e,d,c,b,a);
}
if(a==0&&b!=0)
{
m=4;//4位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d,%d,%d,%d\n",b,c,d,e);
printf("逆序输出各位数字:%d%d%d%d\n",e,d,c,b);
}
if(a==0&&b==0&&c!=0)
{
m=3;//3位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d,%d,%d\n",c,d,e);
printf("逆序输出各位数字:%d%d%d\n",e,d,c);
}
if(a==0&&b==0&&c==0&&d!=0)
{
m=2;//2位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d,%d\n",d,e);
printf("逆序输出各位数字:%d%d\n",e,d);
}
if(a==0&&b==0&&c==0&&d==0)
{
m=1;1位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d\n",e);
printf("逆序输出各位数字:%d\n",e);
}
else printf("error data\n");//不合法处理
}
最笨 最原始的方法