第三题题目:在指定范围内输出完数,输入两个正整数m和n,输出m和n之间的完数,要求调用factorsum(number),它的功能是返回number的因子和。试编写程序
#include<stdio.h>
int main(void)
{
int i,m,n;
int factorsum(int number);
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
if(factorsum(i)==i)
printf("%d",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;
}
第六题题目:输出一个整数的逆序数;输入一个整数,将他逆序输出,要求调用函数reverse(number),他的功能是返回number的逆序数。
#include<stdio.h>
int main(void)
{
int in,res;
int reverse(int number);
scanf("%d",&in);
res=reverse(in);
printf("%d\n",res);
return 0;
}
int reserse(int number)
{
int flag,res;
if(number>=0)flag=1;
else{
flag=-1;
number=-number;
}
res=0;
do{
res=res*10+number%10;
number/=10;
}while(number!=0);
return flag*res;
}
心得:两道题都是调用函数,有一点相似之处,打程序之前要对程序的算法及调用方法有清晰的思路,对函数还有一些些地方不是特别明白,希望可以在以后的学习中慢慢解决这些问题。