#include <stdio.h>
#include <math.h>
int main()
{
int num,count,t1,t2,t3,temp;
scanf("%d",&num);
if(num<0)
num=-num;
t1=t2=t3=num;
do{
t1 /= 10;
count++;
}while(t1>0);
printf("%d有%d位\n",num,count);
printf("首位带零的逆序输出的结果为:");
do{
temp=t2%10;
printf("%d ",temp);
t2=t2/10;
}while(t2>0);
printf("\n");
printf("首位不带零的逆序输出的结果为:\n");
int digit=0;
do{
temp=t3%10;
digit=digit*10+temp;
t3=t3/10;
}while(t3>0);
printf("%d \n",digit);
printf("第二种首位不带零的逆序输出方法为:\n");
int sum=0;
int minsum;
int mark;
mark=pow(10,count-1);
do{
temp=num%10;
minsum=temp*mark;//将每次的最后一位乘以10加上下一次的最后一位, 就逐渐将最低位弄到了最到位
num /=10;
mark /=10;
sum=minsum+sum;
}while(num>0);
printf("%d \n",sum);
return 0;
}
C#-数字逆序输出的几种方法
最新推荐文章于 2025-01-06 19:52:34 发布