倒序输出加函数,我fo了
问题描述;给一个数n(0<n<=32767),逆序打印出各位数字,并求它是几位数。输入:输入数据有多组,每组占一行,由一个整数组成。
输出:对于每组输入数据,输出一行,该行有两个数,一个数是n的各位数字的逆序,一个数是n的位数,它们以一个空格隔开。
int fun(int n){
int s;
s=0;
do{
n=n/10;
s++;
}while(n!=0);
return s;
}
#include<stdio.h>
int main()
{
int n,i,a,temp;
int f[5];
while(scanf("%d",&n)!=EOF){
a=fun(n);
for(i=0;i<a;i++){
f[i]=n%10;
n=n/10;
}
for(i=0;i<(a/2);i++){
temp=f[i];
f[i]=f[a-1-i];
f[a-1-i]=temp;
}
for(i=0;i<=a;i++){
printf("%d",f[i]);
}
printf("%d",fun(n));
}
return 0;
}
我真的很迷了,只用函数求位数的时候可以,然后再加了一部分就不知道为啥倒序输出不了,我感觉是我定义的元素重复用了的原因吗,还是格式不对,求救