第七次作业
3.使用函数输出指定范围内的完数:输入2 个正整数m 和n(1<=m,n≤1 000),输出m ~n 之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number 的因子和。例如,factorsum(12)的返回值是16(1 +2 +3 +4 +6)。
#include<stdio.h>
int factorsum(int number);
int main(void)
{
int m,n,i;
scanf("%d%d",&m,&n);
for(i=m;i<n;i++)
if(i==factorsum(i))
printf("%d\n",i);
return 0;
}
int factorsum(int number)
{
int i,sum;
sum=0;
for(i=1;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 number);
int main(void)
{
int n;
printf("%d\n",reverse(n));
return 0;
}
int reverse(int number)
{
int x;
scanf("%d",&x);
do{
printf("%d",x%10);
x=x/10;
}
while(x==0);
return x;
}

心得:在本次作业中,发现作业难度较大,完成时有难度,对于知识点掌握的比较模糊。
需要掌握的知识点有:函数的定义与调用,函数首部和函数体。在函数的调用过程中,要掌握函数的函数名和参数传递以及函数的结果返回。
在做第六题时,要掌握do-while的循环结构
浙公网安备 33010602011771号