数据类型与表达式

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

#include<stdio.h>
int factorsum(int m);
int main(void)
{
    int m, n,x,y;
    printf("Enter m,n:\n(1<=m,n<=1000):\n");
        scanf("%d%d",&m,&n);
        for(x=m;x<=n;x++){
  y=x;
  if(factorsum(y)==y)
   printf("%d\n",y);
 }
 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 reverse (int x);
int main(void)
{
 int x,y;
 printf("Enter x:\n");
 scanf("%d",&x);
    y=reverse(x);
    printf("%d\n",y);
 return 0;
}
int reverse(int x)
{
 int z;
 z=0;
 do{
  z=z*10+x%10;
  x/=10;
 }
 while(x!=0);
  return z;
}

  

猜你喜欢

转载自www.cnblogs.com/yehongzhi/p/10940189.html