第七次作业
/*3.使用函数输出指定范围内的完数:输人两个正整数m和n (1≤m, n≤1 00020输出m ~n之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数表达式是 factorsum ( number),它的功能是返回number的因子和。例如factorsum (12) 的返回值是16 (1+2+3+4+6)。 试编写相应程序。*/ #include<stdio.h> #include<math.h> int factorsum(int m); int main() { int m,n; printf("Enter m n:"); scanf("%d%d",&m,&n); for(m;m<=n;m++) if(m==factorsum(m)) printf("%d\n",m); return 0; } int factorsum(int m) { int sum,i; for(i=1,sum=0;i<=m/2;i++) if(m%i==0) sum=sum+i; return sum; }
/*6.使用函数输出一个整数的逆序数:输人一个整数,将它逆序输出。要求定义并用函数reverse(number),它的功能是返回number的逆序数。例如,reverse(12345返回值是54321。 试编写相应程序。*/ #include<stdio.h> #include<math.h> int reverse(int m); int main() { int m; printf("输入一个数m:"); scanf("%d",&m); reverse(m); printf("%d",reverse(m)); return 0; } int reverse(int m){ int sum, x; sum=0; while(m!=0){ x=m%10; sum=sum*10+x; m=m/10; } return sum; }
心得:本次作业难度较大,同时知识点不是记得太清,嗯,我会继续努力的。希望我下次可以独立完成并且能够做到更好。