定义一个函数fun(n),函数的功能是返回四位的正整数n的逆序数。例如,n为3456时,函数的返回值是整数6543。编写主函数调用该函数。
TC环境下调试,
定义一个函数fun(n),函数的功能是返回四位的正整数n的逆序数。例如,n为3456时,函数的返回值是整数6543。编写主函数调用该函数。
TC环境下调试,
上面的方法是可以的,但是明显有些复杂。数组用起来还是比较那个的。
#include<iostream.h>
void num_de(int num);
main(){
int num;
//输入你要求的数
cout<<"请输入数据:";
cin>>num;
//通过调用函数进行求解
num_de(num);
}
void num_de(int num){
int temp1=0,i=0,temp2=0;
while(num!=0){
temp2=(num%10)+temp2*10;
num=num/10;
temp1++;
}
cout<<"位数是:"<<temp1<<endl;
cout<<"倒叙输出:"<<temp2<<endl;
}
c和java的最大优势就是c可以控制程序使用的内存,从而有效的改变算法,让程序的执行效率更高。
#include<stdio.h> int fun(int n) { int a[10]={n%10}, i=1, j=10; while(n/=10) { a[i++]=n%10; j*=10; } i=0; while(j/=10) n+=a[i++]*j; return n; } int main() { int n=3456; printf("%d\n",fun(n)); getch(); return 0; }
其实这个问题的核心就是:
a=i%10;
printf("%d",a);
i=i/10;
i就是那个四位数,只要弄明白了这点,这个问题就迎刃而解了