解题思路:
注意事项:代码的空间是个大问题。
参考代码:
#include<stdio.h>
int main()
{
char x;
int i,item=10000,number,size;//x用来存用户输入的数,i为控制循环常用的数,item为计算位数的数
gets(x); //number为替代x的数,以保证x的完整,size为存位数的数,以便后面用
for(i=5;i>0;i--,item/=10)
{
if(x/item) // 循环判断位数
{
printf("%d\n",i);
size=i;
break;
}
}
for(i=0,item=1;i<size;i++)
{
item*=10; //得出像10000 1000 100 10这样的数,用到下面的循环中去
}
for(i=5,number=x;i>0 && number!=0;i--,item/=10)
{
if(number/item==0)continue; //保证小于五位的数分开输出前面不会有0
if(i==1)
printf("%d",number/item);//最后一位后面没有0
else
printf("%d ",number/item);//输出
number%=item;
}
printf("\n");
for(i=5,number=x;i>0&&number!=0;i--)//逆序输出,相比前面的简单很多,相信大家看的懂
{
printf("%d",number%10);
number/=10;
}
}
0.0分
0 人评分