zoukankan      html  css  js  c++  java
  • 第五次作业

    一、实验内容 

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

    #include<stdio.h>
    int main()
    {
    int m,n,t;
    float x=1,y=0;
    printf("输入两个正整数m和n(要求m<=n)");
    scanf("%d%d",&m,&n);
    if(m>n||m<0||n<0)
    {
        printf("输入错误");    
    }    
    else
    {
        for(y=0;m<=n;m++)
        {
            x=1;
            for(t=1;t<=m;t++) 
            {
                x=x*t;
            }
            y=y+x;
        }
        printf("y=%.0f",y);
            
    }
    return 0;    
    }

     

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

    #include<stdio.h>
    int main()
    {
        int y,i,x; 
        for(x=1;x<=1000;x++)
        {
            y=0; 
            for(i=1;i<x;i++)
            {
                if(x%i==0)
                {
                    y=y+i;
                }
            }
            if(x==y)
            {
                printf("%d
    ",x);
            }
            else
            {
                continue;
            } 
        }
        return 0;    
    } 

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

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

     

    二、实验总结

    1、实验一中定义的y为float,所以输出y时应用%.0f。

    2、输出的y要以float的形式,因为float类型比整形常量取值范围大。

    3、实验二中用到了if语句,但是当不满足if的条件时用了break跳出循环,结果导致无内容输出。需要将break改为continue,因为break跳出整个循环,而continue跳出本层循环。

    4、随机变量需要赋初值,否则运行时其为一个随机值。位置(1)紧挨着for循环体上面的一个语序;(2)表达式1中。

  • 相关阅读:
    一些文件的扩展名
    关于git,从svn转到git
    trousers--------dpkg: 处理软件包 trousers (--configure)时报错
    Ubuntu下运行DrClient以上网
    Ubuntu下的终端命令--复制文件从一个文件夹到另一个文件夹下
    VSCode放大字体的快捷键
    opessl版本过低造成的函数使用错误
    python的基本语法
    ubuntu和windows的解码方式
    ubuntu下强制删除文件夹
  • 原文地址:https://www.cnblogs.com/0000-beauty/p/6034740.html
Copyright © 2011-2022 走看看