#include <stdio.h> #include <math.h> int func (int x); void print (int x,int n); void print2 (int x,int n); int main (void) { int x,n; printf("Please input x:\n"); scanf("%d",&x); //i为x的位数 n=func(x); //将函数的返回值赋值给i,以供主函数后面使用; print(x, n); //调用函数输出每一位数字; print2(x,n); return 0; } int func (int x) //用于判断是几位数 { int n=0; while(x>0) { n+=1; x=x/10; } return n; } void print(int x,int n) //用于输出每一位数 { int i; printf("它的每位数为:\n"); for (i=1;i<=n;i++) { printf("%d\t",x%10); x=x/10; } printf("\n"); } void print2(int x,int n) //求逆序数 { int i,sum=0,k=n; for (i=1;i<=n;i++) { sum+=x%10*pow(10,k-1); k=k-1; x=x/10; } printf("它的逆序数为%d\n",sum); }