数据类型与表达式
3.使用函数输出指定范围内的完数:输入两个正整数m和n(1<=m,n<=1000),输出m~n之间的所有完数,完数就是因子和与他本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number的因子和。例如,factorsum(12)的返回值是16(1+2+3+4+6)。试编写相应程序。
#include<stdio.h> int factorsum(int m); int main(void) { int m, n,x,y; printf("Enter m,n:\n(1<=m,n<=1000):\n"); scanf("%d%d",&m,&n); for(x=m;x<=n;x++){ y=x; if(factorsum(y)==y) printf("%d\n",y); } return 0; } int factorsum(int number) { int i,sum; for(i=1,sum=0;i<number;i++) if(number%i==0) sum=sum+i; return sum; }
6.使用函数输出一个整数的逆序数:输入一个整数,将它逆序输出。要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如,reverse(12345)的返回值是54321。试编写相应程序
#include<stdio.h> int reverse (int x); int main(void) { int x,y; printf("Enter x:\n"); scanf("%d",&x); y=reverse(x); printf("%d\n",y); return 0; } int reverse(int x) { int z; z=0; do{ z=z*10+x%10; x/=10; } while(x!=0); return z; }