第七次作业

/*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;
}

 

 

 

 

 

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

posted @ 2019-05-28 20:33  朱熺  阅读(93)  评论(0编辑  收藏  举报