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

    作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360

    第十一周------第六次作业

    6-1 求1到100的和 

    本题要求编写程序,计算表达式 1 + 2 + 3 + ... + 100 的值。

    代码:

    #include <stdio.h>
    int main(void)
    {
      int i,sum;
      sum = 0;
      for(i=1;i<=100;i++){
        sum = sum+i;
      }
      printf("sum = %d
    ",sum);
      system("pause");
      return 0;
    }

    解题思路:

    1、定义两个整型变量i,sum;

    2、判断循环初值以及循环结束条件;

    3、打印输出sum;

    流程图:

     

    调试及运行:

     

     调试过程未发现错误

    运行结果正确

    第十二周------ 第九次作业

     求整数的位数及各位数字之和 

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

    代码:

    #include <stdio.h>
    int main(void)
    {
      int digit,number,sum,count;
      scanf("%d",&number);
      count = 0;
      if(number<0){
        number=-number;
      }
    do{
        digit = number % 10;
        number  = number / 10;
        count ++;
        sum=sum+digit;
     } while(number!=0);
     printf("%d %d
    ",count,sum);
     return 0; 
    }

    解题思路:

    1、定义4个整型变量,给其中一个变量number的输入初值;

    2、根据题意设置循环结束条件及运算公式(求整数的各位数字之和则需要使用求余运算);

    3、输出位数count,各位数字之和sum;

    流程图:

     

    调试过程及问题:

    正确运行的结果应该是输出2和7,而实际却输出了2和-7;

    调试过程如下:

    调试之后我发现当number<0时,应先在进入循环之前使用if语句保证number为正数;

     正确运行过程及调试如下:

     第十三周------第七次作业

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

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

    代码:

    #include <stdio.h>
    int main(void)
    {
      int N,sum,count,i,grade;
      double average=0;
      sum = 0;
      count = 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);
      system("pause");
      return 0;
    }

    解题思路:

    1、定义解题所需变量;

    2、根据题意设置循环结束条件;

    3、使用if语句加一个计数器统计及格人数;

    4、输出的average要求是浮点型,而sum和N都是整型,因此最后输出时需要sum*1.0/N;

    流程图:

     调试过程及问题:

     第一次运行时没有考虑到N=0的情况,N=0时N不能作为分母,因此average无法计算出,导致部分正确;

    调试过程如下:

     

    调试发现错误后,我使用if-else语句把N=0和N>0两种情况进行讨论;

     再次进行调试:

    运行过程如下:

    运行结果都正确;

    个人总结这几周的主要学习各种各样的循环语句,这是一个难点(在哪一步设置循环,循环结束的条件是什么,嵌套循环怎么使用等等),但同时也是一个重点,因为在以后的学习中接触的最多的就是循环,经过这几周课堂上的学习,我弄懂了for循环,while循环与do-while循环的区别与使用,同时也感受到c语言的精深。

     代码行数及博客字数:

     已评论博客链接:

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

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

    https://www.cnblogs.com/freedomjdp/p/9979139.html

  • 相关阅读:
    py爬取英文文档学习单词
    windows 下使clion支持c++11操作记录
    angular在ie8下的一个bug
    连连看小游戏前端实现
    如何禁止页面文字被选中
    分享一个BUG
    描点链接元素的优化提升用户体验
    模拟淘宝滚动显示问题解决入口
    简易图片轮播效果
    支付战争
  • 原文地址:https://www.cnblogs.com/liuweiliuwei/p/10016885.html
Copyright © 2011-2022 走看看