解题思路:首先利用C语言的一个特性,整型(整数)只有整数部分,多了的直接丢掉;其次采用一个依此求各位数上的办法,数学好的应该能看懂,举个例子:例如“123‘这个数,在C语言里123除以100就是百位上的数并设其为x1,那十位上的数x2=123/10-10*x1,然后就是很简单的装入数组里了,再有序地打印
注意事项:
1、开头的判断几位数的”等于号“一定不能少,不然可能会让程序直接崩溃
2、代码虽然简单,但每个变量,运算符都有意义,要用心去看
3、整个方法偏数学,所以用到的C知识并不是很深
参考代码:
#include<stdio.h>
int main()
{
int n,x,all[5],x1=0,x2=0,x3=0,x4=0,x5=0;
scanf("%d",&n);
if (n<=99999)
x=5;
if (n<=9999)
x=4;
if (n<=999)
x=3;
if (n<=99)
x=2;
if (n<=9)
x=1;
if (n/10000>=1)
x5=n/10000;
if (n/1000>=1)
x4=n/1000-10*x5;
if (n/100>=1)
x3=n/100-100*x5-10*x4;
if (n/10>=1)
x2=n/10-1000*x5-100*x4-10*x3;
x1=n-10000*x5-1000*x4-100*x3-10*x2;
if (n<10)
{
printf("1\n%d\n%d\n",n,n);
return 0;
}
all[0]=x1;
all[1]=x2;
all[2]=x3;
all[3]=x4;
all[4]=x5;
int z;
printf("%d\n",x);
for (z=x;z>0;z--)
printf("%d ",all[z-1]);
printf("\n");
for (z=x;z>0;z--)
printf("%d",all[x-z]);
return 0;
}
0.0分
0 人评分
【蟠桃记】 (C语言代码)浏览:2219 |
点我有惊喜!你懂得!浏览:1977 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:534 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:605 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1066 |
川哥的吩咐 (C语言代码)浏览:871 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:605 |
剔除相关数 (C语言代码)浏览:1008 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:331 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:672 |