zoukankan      html  css  js  c++  java
  • 作业

    一、实验内容

    实验一

    实验要求:输入两个正数m和n(要求m<=n),求m!+(m+1)!+(m+2)!...+n!

    代码:

     include <stdio.h>
    int main()
    {
        int m,n,i;
        float sum,p;
        printf("请输入两个整数
    ");
        scanf("%d,%d",&m,&n);
        sum=0;
        if(m<=n)
        {
           for(m;m<=n;m++)
           {
               p=1;
               for(i=1;i<=m;i++)
               {
                    p=p*i;
               }
            sum=p+sum;
           }
        }
        else
        {
            printf("数据错误
    ");
        }
        printf("sum=%.0f
    ",sum);
    }

    程序运行结果:

    实验二

    实验要求:输出1000以内的所有完数。所谓完数是指这个数恰好等于除它本身外的所有因子之和。例:6的因子为1,2,3,6=1+2+3,所以6是完数。

    代码:

    # include <stdio.h>
    int main()
    {
        int m,i,sum;
        for(i=2;i<1000;i=i+1)
        {
            sum=1;
            for(m=2;m<i;m=m+1)
            {
                if(i%m==0)
                {
                    sum=sum+m;
                }
            }
            if(sum==i)
            {
                printf("%03d ",i);
            }
        }
        return 0;
    } 

    程序运行结果:

    实验三

    实验要求:奇偶归一猜想--对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它初一2,如此循环,最终都能得到1.如n=11,得序列:11,34,17,52,26,13,40,10,5,16,8,4,2,1.(共有14个步骤)题目输入正整数n求这个n多少步能归一。

    代码:

    # include<stdio.h>
    int main()
    {
        int m,sum;
        printf("请输入一个正整数
    ");
        scanf("%d",&m);
        sum=0;
        while(1)
        {
            if(m==1) 
            {             
                break; 
            }
            else if(m%2!=0)
            {
                m=3*m+1;
                sum=sum+1;
            }
             else if(m%2==0)
            {
                m=m/2;
                sum=sum+1;
            }
               }
        printf("这个数%d步能归一
    ",sum);
        return 0;
    }

    程序运行结果:

    二、实验总结

    1. 循环之间的嵌套。
    2. while,do...while,for语句的熟练掌握。
    3. 在while后面不能加分号,在do...while的while后面要加分号。
    4. 对死循环的应用。
    5. 在两个循环的嵌套中外层循环控制外层函数,内层循环控制内层函数。
    6. 在循环中break应该在if后面,不能跟在else if后面。
    7. 完数的计算中sum的初值应为1。
  • 相关阅读:
    Advanced Configuration Tricks
    Reviewing the Blog Module
    Editing and Deleting Data
    Making Use of Forms and Fieldsets
    Understanding the Router
    SQL Abstraction and Object Hydration
    Preparing for Different Databases
    Java学习理解路线图
    Openstack学习历程_1_视频
    CentOS安装Nginx负载
  • 原文地址:https://www.cnblogs.com/1997zjx/p/6023738.html
Copyright © 2011-2022 走看看