• 【华软C语言实验报告】实验6 循环结构程序设计


    一、实验目的:
    1、熟悉循环结构的循环控制部分和循环体部分;
    2、掌握for语句、while语句、do…while语句的使用,并能相互代替;
    3、熟悉累加、分类统计等算法,能根据实际需要构建循环语句;
    4、掌握多重循环的使用,能够熟悉应用穷举法、迭代法、打擂台算法等典型算法;
    二、实验内容
    1、(基础题)用for语句编写程序,计算1+3+5+7+…+99+101的值。程序运行结果如下图所示:

    #include <stdio.h>
    int main()
    {
      int i;
      int sum =0;
      for(i=1;i<=101;i+=2)
      {
        sum = sum + i;
      }
      printf("1+3+5+7...+99+101=%d",sum);
      return 0;
    }
    

    在这里插入图片描述

    2.(基础题)输入10个学生成绩,分别统计成绩在85–100分,60—85分和60分以下各分数段的人数。
    (思路:用三个整型变量n0、n1、n2来存放分类统计结果,这三个变量的初值赋为0;用循环来输入成绩,并进行分类统计:使用if…else …嵌套 或 switch语句判断成绩是否属于某一区间,一旦成绩落入某一区间时,该区间的次数就要增加1)。请按照程序运行截图的输入输出样式编写程序。

    #include <stdio.h>
    int main()
    {
        int n1=0,n2=0,n3=0,i,score;
        for(i=1;i<=10;i++)
        {
            printf("请输入第%d个学生成绩:",i);
            scanf("%d",&score); 
            if (!(0<=score && score<=100))
            {
                printf("请输入正确输入学生成绩
    ");
                return -1;
            }
            if(85<=score && score<=100)n1++;
            else if(60<=score && score<85)n2++;
            else n3++;           
        }
        printf("85~100的人数=%d
    ",n1);
        printf("60~85的人数=%d
    ",n2);
        printf("60以下的人数=%d
    ",n3);
        return 0;
    }
    

    在这里插入图片描述在这里插入图片描述
    3、(基础题)已知有式子:xyz+yzz=532, 其中x、y、z为数字,编写程序输出所有满足条件的x、y和z。(提示:穷举法:可以利用三重循环去列举出所有可能组合,x、y、z的值只能在0-9之间)。程序运行效果图:

    #include <stdio.h>
    int main()
    {
        int x,y,z;
        for(x=1;x<9;x++)
            for(y=1;y<9;y++)
                for(z=0;z<9;z++)
        if((x*100+y*10+z)+(y*100+z*10+z)==532)
        printf("x=%d,y=%d,z=%d
    ",x,y,z);
        return 0;
    }
    

    在这里插入图片描述
    4.(提高题) 输入一批学生成绩,输出其中的最高分、最低分。
    思路:
    (1)用循环处理。
    (2)循环多少次?事先并不知道。解决办法:输入负数或大于100(即成绩不合理)时结束。 即 循环条件:score>=0&&score<=100
    (3)用“打擂台”算法可以得到最高分和最低分;
    (4)“打擂台”算法思想:先找一个人站在台上(最初擂主),第二个人上去与之比武,获胜者留在擂台上。再上去第三个人,与台上的人(即刚才的得胜者)比武,胜者留在台上,败者下台,直到所有的人都比试过后,最后留在擂台上的即是冠军!
    (5)请根据运行图中的输入输出样式完善程序。程序运行效果图:

    #include <stdio.h>
    int main()
    {
        int max,min,score;
        max=0;min=100;
        while(1)
        {
            printf("请输入成绩(0~100),其他值结束:");
            scanf("%d",&score);
            if(!(0<=score && score<=100))
                break;
            if(score>max)
                max=score;
            if(score<min)
                min=score;        
        }
        printf("最大值:%d
    ",max);
        printf("最小值:%d
    ",min);
        return 0;
    }
    

    在这里插入图片描述

    一键三连呀!
  • 相关阅读:
    学习笔记81—matlab通过界面按钮查看回调函数
    学习笔记80—火狐设置
    学习笔记79—几个典型的距离
    学习笔记78—三大统计相关系数:Pearson、Spearman秩相关系数、kendall等级相关系数
    Xcode7修改模块生成网络权限(ATS配置)
    关于解决“No matching provisioning profiles found”问题-ios
    There was a problem parsing the package(android)
    SDK does not contain any platforms. error (android)
    Objective-C中的instancetype与id的区别
    iOS动画编程
  • 原文地址:https://www.cnblogs.com/jee-cai/p/14095211.html
Copyright © 2020-2023  润新知