早教吧作业答案频道 -->其他-->
1,输入一个不多于5位的正整数2输出该数是几位数该数的逆数(例如123的逆数是321输出)3输出各个位的数是什么.当我输入一个小于5位数的时遇到一个问题.例如我输入1234条件3中万位出现
题目详情
1,输入一个不多于5位的正整数
2输出该数是几位数 该数的逆数
(例如123的逆数是321 输出)
3输出各个位的数是什么.
当我输入一个小于5位数的时遇到一个问题.例如我输入1234
条件3 中 万位出现不该有的数 原因是数组没有初始化为0
但是如果我在源代码中加入了把数组初始化为0
又出现了另一个问题 该数的逆数就是 43210 出现错误
该怎么解决该问题
另外请帮我简化源代码谢谢
#include
#include
void main()
{ int d ;
long a[5]={0,0,0,0,0} ;/*保存各位的数*/
\x05int n ; /*用来保存不多于5位的正整数*/
\x05int z; /* 记录该数共有几位*/
F:
\x05printf("请输入不多于5位的正整数\n");
\x05scanf("%d",&n);
\x05 if(n>=10000)
\x05 {\x05
\x05\x05\x05\x05 z=5;
}
\x05\x05\x05 else if(n>=1000)
\x05 {\x05
\x05\x05\x05\x05 z=4;
}
\x05\x05\x05 else if(n>=100)
\x05 {\x05
\x05\x05\x05\x05 z=3;
}
else if(n>=10)
\x05 {\x05
\x05\x05\x05\x05 z=2;
\x05\x05\x05 }
\x05\x05\x05 else if(n>=1)
\x05 {\x05
\x05\x05\x05\x05 z=1;
}
\x05\x05\x05 \x05else
\x05\x05\x05\x05\x05\x05\x05\x05{
\x05\x05\x05\x05\x05\x05\x05\x05\x05getchar();
\x05\x05\x05 \x05printf("输入错误\n");
getchar();
\x05\x05\x05 goto F ;
\x05\x05\x05\x05\x05\x05\x05\x05}
switch (z)
\x05 {
\x05 case 1:
a[0]=n;
\x05 break ;
\x05 case 2:
a[0]=(n%10);
a[1]=(int)(n/10);
\x05 break ;
\x05\x05case 3:
a[0]=(n%10);
a[1]=((int)(n/10)%10);
a[2]=((int)(n/100));
\x05\x05break ;
\x05\x05case 4:
\x05\x05a[0]=(n%10);
\x05\x05a[1]=((int)(n/10)%10);
\x05\x05a[2]=((int)(n/100)%10);
\x05\x05a[3]=((int)(n/1000));
\x05\x05break ;
\x05\x05case 5 :
\x05\x05a[0]=(n%10);
\x05\x05a[1]=((int)(n/10)%10);
\x05\x05a[2]=((int)(n/100)%10);
\x05\x05a[3]=((int)(n/1000)%10);
\x05\x05a[4]=((int)(n/10000));
\x05\x05break ;
\x05 }
system("cls");
\x05 printf("该数是%d位数\n",z);
printf("该数的逆数是\n");
\x05\x05 for(d=0;d
2输出该数是几位数 该数的逆数
(例如123的逆数是321 输出)
3输出各个位的数是什么.
当我输入一个小于5位数的时遇到一个问题.例如我输入1234
条件3 中 万位出现不该有的数 原因是数组没有初始化为0
但是如果我在源代码中加入了把数组初始化为0
又出现了另一个问题 该数的逆数就是 43210 出现错误
该怎么解决该问题
另外请帮我简化源代码谢谢
#include
#include
void main()
{ int d ;
long a[5]={0,0,0,0,0} ;/*保存各位的数*/
\x05int n ; /*用来保存不多于5位的正整数*/
\x05int z; /* 记录该数共有几位*/
F:
\x05printf("请输入不多于5位的正整数\n");
\x05scanf("%d",&n);
\x05 if(n>=10000)
\x05 {\x05
\x05\x05\x05\x05 z=5;
}
\x05\x05\x05 else if(n>=1000)
\x05 {\x05
\x05\x05\x05\x05 z=4;
}
\x05\x05\x05 else if(n>=100)
\x05 {\x05
\x05\x05\x05\x05 z=3;
}
else if(n>=10)
\x05 {\x05
\x05\x05\x05\x05 z=2;
\x05\x05\x05 }
\x05\x05\x05 else if(n>=1)
\x05 {\x05
\x05\x05\x05\x05 z=1;
}
\x05\x05\x05 \x05else
\x05\x05\x05\x05\x05\x05\x05\x05{
\x05\x05\x05\x05\x05\x05\x05\x05\x05getchar();
\x05\x05\x05 \x05printf("输入错误\n");
getchar();
\x05\x05\x05 goto F ;
\x05\x05\x05\x05\x05\x05\x05\x05}
switch (z)
\x05 {
\x05 case 1:
a[0]=n;
\x05 break ;
\x05 case 2:
a[0]=(n%10);
a[1]=(int)(n/10);
\x05 break ;
\x05\x05case 3:
a[0]=(n%10);
a[1]=((int)(n/10)%10);
a[2]=((int)(n/100));
\x05\x05break ;
\x05\x05case 4:
\x05\x05a[0]=(n%10);
\x05\x05a[1]=((int)(n/10)%10);
\x05\x05a[2]=((int)(n/100)%10);
\x05\x05a[3]=((int)(n/1000));
\x05\x05break ;
\x05\x05case 5 :
\x05\x05a[0]=(n%10);
\x05\x05a[1]=((int)(n/10)%10);
\x05\x05a[2]=((int)(n/100)%10);
\x05\x05a[3]=((int)(n/1000)%10);
\x05\x05a[4]=((int)(n/10000));
\x05\x05break ;
\x05 }
system("cls");
\x05 printf("该数是%d位数\n",z);
printf("该数的逆数是\n");
\x05\x05 for(d=0;d
▼优质解答
答案和解析
#include //解决这个问题只用这一个头文件就够了//#include void main(){ int d ;long a[5]={0,0,0,0,0} ;/*保存各位的数*/\x05int n ; /*用来保存不多于5位的正整数*/\x05int z; /* 记录该数共有几位*/F:\x05printf...
看了1,输入一个不多于5位的正整数...的网友还看了以下:
"烟花绽放"情景如所描述?如所用英语描述烟花绽放的情景,那种七彩缤纷的场面不好意思,应该是如何用英语 2020-03-31 …
请问当x趋于2时,1/(x-2)的极限存在吗?是多少?我是觉得如果x是小于2但是很接近2的数字那么 2020-04-26 …
3次方的因式分解2次方的经常做例如X^2-9,等于(x-3)(x+3)但是如果3次方呢,例如x^3 2020-05-17 …
为什么鸡蛋放在醋里会先上浮再下降..然后不断上下浮动?把鸡蛋放在酸里真正的实验现象应该是如题目所示 2020-06-04 …
基督徒这些上帝的儿子、女儿的称呼该是如何解释《圣经》曾称亚当为上帝的儿子(《路加福音》3:38)称 2020-07-04 …
已知函数f(x)是定义在R上的奇函数,且当X>0时,f(x)=2^x-3*[2^(-x)](1)当 2020-07-24 …
3.15X0.28的积是小数点后几位现在的小学数学里面是小数点的答案是0.8820,但是小点数最后一 2020-11-11 …
英语翻译1、我们需要在大货中检验,由ME,Factory,yourQC三方共同去讨论,制定一个合理的 2020-11-26 …
如题,就是个关于单利现值计算的问题.例如:P=20000/(1+10%*3)=?我一直认为括号里结果 2020-11-28 …
这句话的Unless是如果不,还是除非的意思?Unlessthereissomeimprovemen 2020-12-06 …