作业帮 > 综合 > 作业

给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 08:02:57
给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字.
应准备以下测试数据:
要处理的数为1位正整数;
要处理的数为2位正整数;
要处理的数为3位正整数;
要处理的数为4位正整数;
要处理的数为5位正整数.
除此之外,程序还应当对不合法的输入作必要的处理.例如:
输入负数;
输入的数超过5位(如123 456).
#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");//不合法处理
}
最笨 最原始的方法
给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字. 给定一个不多于5位的正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数 给一个不多于5位的正整数,要求1,求出它是几位数!2分别打印出每一位数字!3按逆序打印出各数字! c语言输入一个不多于5位正整数要求:求出它是几位数;分别打印出每一位数字;按逆序输出各位数字. 给1个不多于5位的正整数要求1求出它是几位数2分别打印出每一位数字3按逆序打印出各位数字用C语言编程 输入一个不多于5位的正整数,要求 1求出它是几位数 2分别打印每一位数字 3按逆序输出各位数字 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字. 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 输入一个不多于5位的正整数,要求:(1)求它是几位数;(2)逆序打印出各位数字. 给一个不多于5位的正整数,要求:1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字 从键盘输入一个不多于10位的正整数,求出它是几位数并从高位到低位打印出每一位数字 编写代码?给出一个不多于5位的整数,要求:1,求出它是几位数.2,分别输出每一位数字.3,按逆序输出各位数字.