解题思路:首先利用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语言训练-数字母 (C语言代码)浏览:648 |
1013题解浏览:596 |
数组与指针的问题浏览:760 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:571 |
GC的苦恼 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:620 |
小O的图案 (C语言代码)浏览:979 |
拆分位数 (C语言代码)浏览:464 |
【亲和数】 (C语言代码)浏览:732 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:520 |