第七次作业
/*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 n,m;
printf("输入两个数n m:");
scanf("%d%d",&n,&m);
for(m;m<=n;m++)
if(m==factorsum(m))
printf("m=%d\t",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>
void reverse(int m);
int main()
{
int m,n;
printf("Enter m:");
scanf("%d",&m);
n=reverse(m);
return 0;
}
void reverse(int m)
{
while(m!=0){
if(m>10)
printf("%d",m%10);
else
printf("%d",m);
m=m/10;
}
printf("\n");
}
void reverse(int m);
int main()
{
int m,n;
printf("Enter m:");
scanf("%d",&m);
n=reverse(m);
return 0;
}
void reverse(int m)
{
while(m!=0){
if(m>10)
printf("%d",m%10);
else
printf("%d",m);
m=m/10;
}
printf("\n");
}
![](https://img2018.cnblogs.com/blog/1619595/201905/1619595-20190528190159624-1560885916.png)
刚开始做程序的时候连题目都读不懂,程序根本做不出来,但后来经过网上查找资料了解题目含义后才慢慢的做出来,我感觉在定义函数这一块自身还要加强练习。对于算法的运用还需要融会贯通,
对于基本知识要灵活运用。