第七次作业

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

}

 心得:虽然这次程序做出来了,但仍然存在很多问题,对函数不熟悉,编程序还不熟练,还要多上机。

posted @ 2019-05-28 18:16  拉恒  阅读(130)  评论(0编辑  收藏  举报