第七次作业

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

#include<stdio.h>
#include<math.h>
int factorsum(int number);
int main(void)
{
int i,m,n,q;
int factorsum(int number);
scanf("%d%d",&m,&n);
if(m>n){
q=m,m=n,n=q;
}
printf("input m,n(1<=m,n<=1000):");
for(i=m;i<=n;i++)
if(factorsum(i)==i)
printf("%d\n",i);
printf("\n");
return 0;
}

int factorsum(int number)
{
int i,sum;
if(number==1) return 1;
sum=0;
for(i=1;i<=number/2;i++){
if(number%i==0)
sum=sum+i;
}
return sum;
}

 

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

#include<stdio.h>
#include<math.h>
int reverse(int number);
int main()
{
int number;
printf("Enter number:");
int reverse(int number);
scanf("%d",&number);
if(reverse(number)!=0)
printf("%d\n",number);
return 0;
}
int reverse(int number){
while(number!=0){
printf("%d",number%10);
number=number/10;
}
return number;
}

 

 

posted @ 2019-05-28 21:34  朱生平  阅读(160)  评论(0)    收藏  举报