输入一个数字
①求出该数是几位数
②正序输出该数
③逆序输出该数
代码
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define gap printf("\n")
int for_digit(int num);
void sequence(int _num,int _digit);
void reversal(int num_,int digit_);
int main(int argc,char const *argv[])
{
int x,digit;
scanf("%d",&x);
printf("digit is %d",digit=for_digit(x));
gap;
sequence(x,digit);
gap;
reversal(x,digit);
gap;
system("pause");
return 0;
}
int for_digit(int num)
{
int digit=0;
while(num>0)
{
digit++;
num/=10;
}
return digit;
}
void sequence(int _num,int _digit)
{
int sequence_num;
do{
_digit--;
sequence_num=_num/(int)pow(10,_digit);
printf("%d ",sequence_num);
_num%=(int)pow(10,_digit);
}while(_digit>0);
}
void reversal(int num_,int digit_)
{
int reversal_num;
for(;digit_>0;digit_--,num_/=10)
{
reversal_num=num_%10;
printf("%d ",reversal_num);
}
}
效果图