满记会员官网打不开:输出一定范围内的完全数,函数练习

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 02:20:42

3.            输出一定范围内的完全数,函数练习

如果一个整数的各因子值之和等于该整数,那么这种整数称为完全数

/*输出一定范围内的完全数*/

#include

/*声明函数perfect判断一个数是否是完全数*/

int perfect(int);

/*声明函数 printPerfect,输出完全数*/                              

int printPerfect(int);

/*编程输出某范围内的整数中的完全数,使用函数*/                          

main()

{

    /*定义整型变量num,from,to,countnum储存要判断的数,

        *from,to储存输入的初值和末值;count存储完全

        *数的个数

        */

       int num,from,to,count=0;                    

       printf("请输入判断范围(from,to):\n");

       /*将始值和末值分别存入from,to*/

       scanf("%d,%d",&from,&to);                   

       printf("%d到%d之间的完全数有:\n",from,to);

       /*从from到to逐一循环*/

       for(num=from;num<=to;num++)                 

       {

        /*引用函数perfect判断是否为完全数*/

              if(perfect(num))                        

              {

                     printPerfect(num);

                     printf("\n");

                     /*如果是完全数count+1*/

                     count++;                            

              }

       }

       printf("共计%d个完全数\n",count);           

       return(0);     

}

/*定义函数perfect*/

int perfect(int num)                            

{

       int sum,i;                                                                     

       sum=0;

       /*从i到num-1逐一循环,判断num是否为完全数*/

       for(i=1;i<=num-1;i++)                        

       {

        /*当num能被i整除时执行操作*/

              if(num%i==0)

                     /*将sum+i的值重赋予sum*/

                     sum=sum+i;                           

       }

    /*当sum=num时执行操作返回值1,否则返回值0*/

       if(sum==num)                                 

              return 1;                                

       else

              return 0;                                

}

/*定义函数printPerfect*/

int printPerfect(int num)

{

    /*定义局部变量sum,i;sum用于判断输出是否结束*/

       int sum,i;                                    

       sum=0;                                                                              

       printf("%d=",num);

       /*从i到num-1逐一循环*/

       for(i=1;i<=num-1;i++)                                                   

       {

        /*当num能被i整除时执行操作,输出i*/

              if(num%i==0)                                                            

              {

                     printf("%d",i);                       

                     sum=sum+i;

              /*当sum不等于num时执行操作打印“+”*/     

                     if(sum!=num)                          

                            printf("%c",'+');                 

              }

       }

}

运行效果如下:

写出1到400范围内的完全平房数 写出1到400范围内的完全平方数 证明:两个质数的平方和一定不是完全平方数 请问在matlab中产生一定范围内的随机数的函数 定义函数返回两个数中较大的数,在主函数求3个数之中较大的数并输出。编写主函数调用该函数。 写一个函数,输入一个十六进制数,输出相应的十进制数 写一个函数,输入一个十六进制数,输出相应的十进制数 用函数实现,将一个十进制数,转换成相应的二进制数并输出 C语言编程:输入两个数,输入两个数,通过函数调用实现数据由小到大的输出 vc++怎样取一定范围内的随机数 试证明四个连续正整数的积加1,一定是一个完全平方数? 主函数定义数组a[10],从键盘输入十个数,然后调用自定义函数求出最小的元素,最后在主函数中输出结果 怎么调用输出的数 C语言编程题目:写一函数,将输入的一个五进制数,转化成相应的十进制数输出。 设计一程序,用随机函数产生30个两位整数(不能有相同的数),按从小到大的顺序排列输出 C语言,怎么用递归函数,把输入的一个十进制整数转换成二进制数输出 C语言,编一程序用递归函数,把输入的一个十进制整数转换成二进制数输出 C语言编程:编程序,输入两个数,通过函数调用实现数据由小到大的输出 Excell里怎样统计一定数值范围内(如<=0.1and>0)的数的个数?(数据多筛选法不可行) 2编程实现输入一个正整数,输出其对应的二进制数和十六进制数,要求轮换过程用自编函数来实现。 有趣的完全平方数 为什么人民币的汇率要控制在一定的范围内 锐角三角函数的变化归律是什么样的?(初中范围内) 如何搜索一定IP地址范围内的MP3