第七次作业

                                     心得体会

第一题主要考:1、函数的调用(函数的声明与定义);2、完数的判断。

第二题主要考:逆序数与函数调用的结合。

虽然程序大体是做出来了,但是还有很多地方存在缺陷,比如说:1、函数的调用不太熟练;2、特殊程序容易忘;3程序输出格式掌握不到位;4、程序不完善。

 
/*3.使用函数输出指定范围内的完数:输人两个正整数m和n (1≤m, n≤1 00020输出m ~n之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数表达式是  factorsum ( number),它的功能是返回number的因子和。例如factorsum (12) 的返回值是16 (1+2+3+4+6)。 试编写相应程序。*/
 
#include<stdio.h>
int factorsum(int x);
int main()
{
  int m,n,t,x;
  printf("Enter m,n(1<=m,n<=1000):");
  scanf("%d%d",&m,&n);
  if(m<=n)
  {t=m;m=n;n=t;}
  if(n<=m)
  {t=n;n=m;m=t;}
  for(x=m;x<=n;x++)
  if(factorsum(x)!=0)
  printf("%d\n",x);
return 0;
}
int factorsum(int x)
{
  int sum,j;
  for(j=1,sum=0;j<=x/2;j++)
if(x%j==0){
 sum=sum+j;}   
if(sum!=x){
return 0;
  }
return 1;
}

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

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

 

posted @ 2019-05-28 13:44  唐雨杰  阅读(200)  评论(0编辑  收藏  举报