第七次作业




3.使用函数输出指定范围内的完数:输入两个正整数m和n(1<=m,n<=1000),输出m~n之间所有的完数,完数就是因子和与他本身相等的数。要求定义并调用函数factorsum( number),它的功能是返回number的因子和。例如,factorsum(12)的返回值是16(1+2+3+4+6)。试编写相应程序。 
 






#include<stdio.h>
int main(void) { int factorsum(int number); int m,n,s,j; printf("输入m,n(1<=m,n<=1000):\n");

 scanf("%d%d",&m,&n);
 
 for(j=m;j<=n;j++)
 {
  s=j;
  if(factorsum(s)==s)
   printf("%d\n",s);
 }
 return 0;
}
 
int factorsum(int number)
{
   int i,sum;
   for(i=1,sum=0;i<number;i++)
   if(number%i==0)
  sum=sum+i;
   return sum;
 }







6>使用函数输出一个整数的逆序数:输入一个整数,将它逆序输出。要求定义并调用函数reverse(number),她的功能是返回number的逆序数。
例如,reverse(12345)的返回值是54321。写出程序。 


#include<stdio.h>
int main()
{
int m,n;
int reverse(int number);
printf("请输入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;
}





 

posted on 2019-05-28 21:41  李彩云  阅读(181)  评论(0编辑  收藏  举报