第七次作业
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 number);
int main(void)
{
int m,n,i;
printf("Enter m,n:");
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
if(factorsum(i)==i)
printf("%d\n",i);
return 0;
}
int factorsum(int number)
{
int i,sum=0;
for(i=1;i<number;i++)
if(number%i==0)
sum=sum+i;
return sum;
}

6.使用函数输出一个整数的逆序数:输入一个整数,将它逆序输出。要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如,reverse(12345)
的返回值是54321。试编写相应程序。
的返回值是54321。试编写相应程序。
#include<stdio.h>
int reverse(int number);
int main(void)
{
int m,n;
printf("Enter m:");
scanf("%d",&m);
n=reverse(m);
printf("%d\n",n);
return 0;
}
int reverse(int number)
{
int n;
n=0;
do{
n=n*10+number%10;
number=number/10;
}
while(number!=0);
return n;
}

心得:这次的作业好难,一看到题直接懵了,无从下手不知道该怎么做。这两道题都要调用函数,我也本来函数这一章没有掌握,所以导致这次作业完全不会。下去以后要多练习多上机,好好掌握这部分知识。

浙公网安备 33010602011771号