解题思路:首先利用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语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:893 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:520 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:936 |
母牛的故事 (C语言代码)浏览:1428 |
sizeof的大作用 (C语言代码)浏览:1450 |
Hello, world! (C语言代码)浏览:714 |
蛇行矩阵 (C语言代码)浏览:502 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:716 |
简单的a+b (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:2161 |