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

    作业要求:【https://www.cnblogs.com/c-programing-language/p/9931659.html

    第七次作业7-3 统计学生平均成绩与及格人数 (15 分)

    本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

    输入格式:输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

    输出格式:按照以下格式输出:average = 成绩均值,count = 及格人数,其中平均值精确到小数点后一位。

    输入样例:5

        77 54 92 73 60

    输出样例:average = 71.2

        count = 4

    一.实验代码

    # include<stdio.h> 
    int main()
    {   int count,grade,i,N;
        double total,average;
        scanf("%d
    ",&N);
        total=0;
        count=0;
        for(i=1;i<=N;i++){
            scanf("%d",&grade);
            total=total+grade;
            average=total/N;
            if(grade>=60){
            count=count+1;}
        }
        printf("average = %.1lf
    ",average);
        printf("count = %d
    ",count);
        return 0;
    }

    二.解题思路

    1.步骤

    1).先定义整型变量count表示合格的人数,grade表示分数,N表示人的个数,total计算总分。

    2).先输入人的个数,然写出for循环,输入五个成绩。

    3).最后输出average和count。

    运行的结果:

    2.流程图

     

    三.调试过程碰到的问题及解决办法

    起初在for循环中忘记了写求average的代码,显示average=0.0,然后加上之后结果正确了。

    调试过程

    第九次作业7-2 输出闰年 (15 分)

    输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。

    输入格式:输入在一行中给出21世纪的某个截止年份。

    输出格式:逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。

    输入样例1:

    2048

    输出样例1:

    2004
    2008
    2012
    2016
    2020
    2024
    2028
    2032
    2036
    2040
    2044
    2048
    输入样例2:


    2000

    输出样例2:
    Invalid year!

    一.实验代码

    #include<stdio.h>
    int main()
    {
        int year,i,count;
        count=0;
        scanf("%d",&year);
        if(year<=2000||year>2100)
            printf("Invalid year!
    ");
        else{
            for(i=2001; i<=year; i++){
                if(i%4==0&&i%100!=0||i%400==0){
                    printf("%d
    ",i);
                    count++;
                }
            }
            if(count==0)
                printf("None
    ");
        }    
        return 0;
    }

    二.解题思路

    1.步骤

    1).定义整型变量year表示开始输入的年份,i表示要输出的闰年,count用来统计闰年的个数。

    2).一共有三种情况,一个是输入的年份不在2000-2100内,还有在大范围内,但是小范围内没有闰年。

    3).另外就是存在闰年,需要用if else来找出闰年最后输出出来。

    运行的结果:

     

    2.流程图

     

    三.调试过程碰到的问题及解决办法

     开始做的时候整个代码的大概能够想到,就是不知道在表示条件时的“或者”怎么打,所以我在网上查了下"||"表示或者。

    然后就遇到了点输出格式上的错误,循环输出时,要有“ ”换行。

    调试过程:

    输入year=2048

    进入循环体,i从2001开始直到2048,在其中输出能被4或100整除或者能被400整除的数,就为闰年,同时count会记录闰年个数。

    最后当i=2049时跳出循环输出闰年的结果。

    第十次作业7-4 最大公约数和最小公倍数 (15 分)

    本题要求两个给定正整数的最大公约数和最小公倍数。

    输入格式:输入在一行中给出两个正整数M和N(1000)。

    输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

    输入样例:  511 292

    输出样例:  73 2044

    一.实验代码

    #include<stdio.h>
    int main(){
        int M,N,i;
        scanf("%d %d",&M,&N);
        for(i=M;i>=1;i--){
            if(M%i==0&&N%i==0){
                printf("%d ",i);
                break;}
            }
        for(i=N;i<=M*N;i++){
            if(i%M==0&&i%N==0){
                printf("%d",i);
                break;}
        }
            return 0;
    }

    二解题思路

    1.步骤

    1).先定义整形变量M N i,输入M N的值。

    2).用for的循环和if的条件分别找最大公约数和最小公倍数。

    3).最后分别输出i表示最大公约数和最小公倍数。

    运行的结果:

    2.流程图

    三.调试过程碰到的问题及解决办法

    开始是因为不知道怎么求最大公约数和最小公倍数想了很长时间,后来知道应该用for循环和if的条件来求。

    求最大公约数时,i要等于两个数中比较大的,保证能在约数多的范围内找最大公约数,然后在循环中求M N除以i是否有余数,每次循环i都要减一,直到M N都被i整除时输出i。

    求最小公倍数时,i要等于两个数中较小的数,小于最大公倍数M*N,从最小的数开始找起,每次循环i要加一,直到i能同时被M和N整除时,输出i。

    调试过程:

    输入M和N

    开始进入循环

    当i等于73时,跳出第一个循环,M和N的最大公约数为73。

    开始进入第二次循环

    当i等于2044时,第二个循环结束,M和N的最小公倍数为2044。

     个人总结

    本周学习的重点就是循环语句的运用,平时比较习惯运用的就是for和while的循环语句,但是现在运用的还不够熟练,所以我应该多打一些类似的代码,增加自己的熟练度 ,同时有不会的要多问问别人,自己也要多查查相关的东西,使自己能够把循环语句更清晰熟练的运用。

    作业点评:

    1.https://www.cnblogs.com/chumengGTRlhz/p/9991154.html

    2.https://www.cnblogs.com/wafx/p/9998306.html

    3.https://www.cnblogs.com/abcdsjjs/p/10029383.html

  • 相关阅读:
    Infopath Notify 弹出提示信息
    window.showModalDialog 返回值
    【转】获得正文内容中的所有img标签的图片路径
    Json Datable Convert
    Sharepoint 列表 附件 小功能
    Surgey 权限更改
    SQL 触发器用于IP记录转换
    Caml语句 查询分配给当前用户及当前组
    jquery 1.3.2 auto referenced when new web application in VSTS2010(DEV10)
    TFS diff/merge configuration
  • 原文地址:https://www.cnblogs.com/freedomjdp/p/9979139.html
Copyright © 2011-2022 走看看