解题思路:
利用我们前面刚学到的表达式和选择结构,先分别得出各位数字 ,然后安要求输出。
注意事项:
这样写时代码效率不高, 但是没有BUG。
参考代码:
#include <stdio.h>
#include <conio.h>
int getdataN(int z,int zD)
{
switch(z)
{
case 5:{int d1,d2,d3,d4,d5,t;
d1=zD/10000; //万位数
t=zD%10000;//后4位
d2=t/1000;//千位数
t=t%1000;//后3位
d3=t/100;//百位数
t=t%100;//后2位
d4=t/10;//十位数
d5=t%10;//个位数
printf("%d %d %d %d %d\n",d1,d2,d3,d4,d5);
printf("%d%d%d%d%d\n",d5,d4,d3,d2,d1);break;
}
case 4:{int d1,d2,d3,d4,t;
d1=zD/1000;//千位数
t=zD%1000;//后3位
d2=t/100;//百位数
t=t%100;//后2位
d3=t/10;//十位数
d4=t%10;//个位数
printf("%d %d %d %d\n",d1,d2,d3,d4);
printf("%d%d%d%d\n",d4,d3,d2,d1);break;
}
case 3:{int d1,d2,d3,t;
d1=zD/100;
t=zD%100;
d2=t/10;
d3=t%10;
printf("%d %d %d\n",d1,d2,d3);
printf("%d%d%d\n",d3,d2,d1);break;
}
case 2:{int d1,d2,t;
d1=zD/10;
d2=zD%10;
printf("%d %d\n",d1,d2);
printf("%d%d\n",d2,d1);break;
}
case 1:{int d1;
d1=zD;
printf("%d\n",d1);
printf("%d",d1);break;
}
default:break;
}
return 0;
}
int main()
{
int a,t;
scanf("%d",&a);
if(a/10000>0){printf("5\n");t=5;}
else if(a/1000>0){printf("4\n");t=4;}
else if(a/100>0){printf("3\n");t=3;}
else if(a/10>0){printf("2\n");t=2;}
else {printf("1\n");t=1;}
getdataN(t,a);
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:442 |
printf基础练习2 (C语言代码)浏览:315 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:603 |
哥德巴赫曾猜测 (C语言代码)浏览:2406 |
关于float,double变量的几点说明浏览:1919 |
【偶数求和】 (C语言代码)浏览:454 |
小O的乘积 (C++代码)浏览:540 |
IP判断 (C++代码)浏览:780 |
C语言程序设计教程(第三版)课后习题5.5 (Java代码)浏览:557 |
简单的a+b (C语言代码)浏览:583 |