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

    博客链接:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360

    问题:

    7-5 奇偶分家 (10 分)

    给定N个正整数,请统计奇数和偶数各有多少个?

    输入格式:

    输入第一行给出一个正整N1000);第2行给出N个正整数,以空格分隔。

    输出格式:

    在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。

    输入样例:

    9
    88 74 101 26 15 0 34 22 77
    

    输出样例:

    3 6
    


    解题思路:
    1.定义变量N,i,n,a=0,b=0 输入位数n,数字N
    2.执行语句 如果是偶数求a和 否则求b和
    3.输出a,b值

    实验代码:
    #include<stdio.h>
    int main(void)
    {
      int N,i,n,a=0,b=0;
      scanf("%d",&n);
      for(i=0;i < n;i++){
        scanf("%d",&N);
      if(N%2 == 0){
        a++;
        }
      else{
        b++;
      }
      }
      printf("%d %d",b,a);
      return 0;
    }
     

       流程图:

     

       本题调试过程碰到问题及解决办法:

    1.输入数值

    2.循环到偶数

     3.循环到奇数

    4.输出数值

      问题2:

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

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

    输入格式:

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

    输出格式:

    按照以下格式输出:

    average = 成绩均值
    count = 及格人数
    

    其中平均值精确到小数点后一位。

    输入样例:

    5
    77 54 92 73 60
    

    输出样例:

    average = 71.2
    count = 4
    
    解题思路:
    1.定义变量i=1,n=0,grade=0,count=0,sum=0;count为及格人数,grade为成绩
    2.输入人数,在输入成绩
    3.通过循环算出大于60的成绩,在算出平均数
    4.输出平均值和及格人数
    实验代码:
    #include<stdio.h>
    int main(void)
    {
      int i=0,n=0,grade=0,count=0,sum=0;
      double average=0;
      scanf("%d",&n);
      for(i=1;i<=n;i++){
        scanf("%d",&grade);
        sum=sum+grade;
        if(grade>=60){
          count++;
        }
      }
      if(n>0)
        printf("average = %.1f
    ",sum*1.0/n);
      else
        printf("average = %.1f
    ",sum*1.0);
      printf("count = %d",count);
      return 0;
    }

       流程图:

     

         本题调试过程碰到问题及解决办法:

       1.先输入数值

       2.通过执行语句算出平均值比输出

       3.通过执行语句算出及格人数并输出

       问题3:

    7-1 求整数的位数及各位数字之和 (15 分)

    对于给定的正整数N,求它的位数及其各位数字之和。

    输入格式:

    输入在一行中给出一个不超过10^9的正整数N。

    输出格式:

    在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

    输入样例:

    321
    

    输出样例:

    3 6
    解题思路:
    1.定义变量N,sum=0,m sum为各位数字之和,m为整数的位数
    2.输入整数N
    3.执行语句,求出m,sum

    实验代码:
    #include<stdio.h>
    int main(void)
    {
      int N,sum=0,m; 
      scanf("%d",&N);
        if(N<0){
        N=-N;
      }
      m=0;
      for(N!=0;N;N/=10){
          m++;
          sum+=N%10;
      }  
      printf("%d %d",m,sum);
      return 0;
    }

       流程图:

        本题调试过程碰到问题及解决办法:

       1.输入数值321

        2.执行循环语句

       3.输出位数m  和  各位数的和n 的值

       4.前面是求位数 后面求和 但是只执行do  while语句  后面输出和为0。所以只能把两个数用一个循环写出来。

       总结:

      1.通过这几周的学习,内容上增加了很多东西还有就知识的延申,比如for循环语句的运用及多个for的连用套用(这个理解起来比较难),还有学习了while语句,do-while语句,还有

         swicth case break 的语句及运用,后面还学了函数的调用

       2.在学习上我发现了自己的不足,许多学过的东西我只是停留在片面没有,通过pta作业发现自己课下没有巩固,许多问题都是通过同学才能做出来;还有自己的听课状态需要改进,不

         能每次老师提问我都答不出来答案,听老师说很多同学自学的速度超过了他讲课的速度,这才让我看到别人的努力,这方面我要大幅度的去改进,也不是要多好,最起码老师讲过的都

         能跟上,课后回来还要复习。

       3.通过这几周的学习认为for的很多套用理解困难,但通过同学的讲解懂得了一点,但是还是要去深入。

    
    

     

    评论他人博客:
    https://www.cnblogs.com/liuweiliuwei/p/10016885.html#4127450 刘 伟
    https://www.cnblogs.com/asdfghjklasdfghjkl/p/10003892.html 孙成龙
    https://www.cnblogs.com/chen0803/p/10046139.html 陈悦安
  • 相关阅读:
    Leetcode 122. 买卖股票的最佳时机 II
    Leetcode 121. 买卖股票的最佳时机
    Leetcode 205. 同构字符串
    Leetcode 875. 爱吃香蕉的珂珂
    Leetcode 921. 使括号有效的最少添加
    Leetcode 238. 除自身以外数组的乘积
    评论设置----第二章:创建和管理内容
    其它内容选项----第二章:创建和管理内容
    预览和全展示----第二章:创建和管理内容
    Drupal的主题----第一章:Drupal的介绍
  • 原文地址:https://www.cnblogs.com/1006cy/p/10034337.html
Copyright © 2011-2022 走看看