第七次作业
/*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 foctorsum(int x);
int main()
{
int x,m,n;
scanf("%d%d",&m,&n);
for(x=m;x<=n;x++)
if(foctorsum(x)==x)
printf("%d\n",x);
return 0;
}
int foctorsum(int x)
{
int i,sum;
if(x==1)return 1;
sum=0;
for(i=1;i<=x/2;i++)
if(x%i==0)
sum=sum+i;
return sum;
}
*6.使用函数输出一个整数的逆序数:输人一个整数,将它逆序输出。要求定义并用函数reverse(number),它的功能是返回number的逆序数。例如,reverse(12345返回值是54321。 试编写相应程序。*/
#include<stdio.h>
#include<math.h>
int reverse(int a);
int main()
{
int a,b;
scanf("%d",&a);
b=reverse(a);
printf("%d\n",b);
return 0;
}
int reverse(int a)
{
int i;
for(a;a!=0;a=a/10){
i=a%10;
printf("%d",i);
}
return i;
}

这两个实验运用了函数的调用,但在做第二个实验时我的程序结果会多出一个数字。

浙公网安备 33010602011771号