zoukankan      html  css  js  c++  java
  • 第七周作业

    7-5求1到100的和

    1.实验代码

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

    2 设计思路
    (1)主要描述题目算法
    第一步:首先对sum,i进行整型定义,sum赋初值为0。
    第二步:运用for循环语句,循环变量赋初值i=1,循环条件为i<=100,循环变量增值为i=i+1。

    第三步:输出sum。
    (2)流程图

     

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

    因为课堂上老师讲过相同的例题,所以并没有什么错误。

    7-2 求奇数分之一序列前N项和

    1.实验代码

    #include <stdio.h>
    int main ()
    {
        double m,sum;
        int i,N;
        sum = 0;
        scanf("%d",&N);
        for(i=1;i<=N;i++,i++)
        {
        m=1.000000/i;
        sum = sum + m;
        }
        printf("sum = %.6f",sum);
        return 0;
    }

    2 设计思路
    (1)主要描述题目算法
    第一步:对m,sum进行浮点型定义,i,N进行整型定义,sum=0。
    第二步:输入N,运用for循环语句,循环变量赋初值i=1,循环条件为i<=N,循环变量增值为i=i+2。

    第三步:注意循环里面的m=1.000000/i,最后输出sum的值。

    (2)流程图

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

    遇到的主要问题是最后sum的输出结果为0.000000,原因写成在于m=1/i,m也应精确到小数点后6位,所以应为m=1.000000/i。

    7-2求交错序列前N项和

    1.实验代码

    #include <stdio.h>
    int main()
    {
        int i,N,k;
        double sum;
        scanf("%d",&N);
        sum = 0;
        k = 1; 
        for(i = 1;i<=N;i++)
        {
            sum =sum + i/(2.00*i-1)*k;
            k = k*(-1);
        }
        printf("%.3f",sum);
        return 0;
    }

    2 设计思路
    (1)主要描述题目算法
    第一步:对sum进行浮点型定义,i,N,k进行整型定义,sum=0,k=1。
    第二步:输入N,运用for循环语句,循环变量赋初值i=1,循环条件为i<=N,循环变量增值为i=i+1。

    第三步:注意循环里面的sum =sum + i/(2.00*i-1)*k, k = k*(-1)。

    第四步:最后输出sum的值,输出m的值时要注意不为%f,应为%.3f。

    (2)流程图

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

    主要是和上题一样的问题,sum应为sum + i/(2.00*i-1)*k,当时也是忽略将2.00写成2。

    7-4 找出最小值

    1.实验代码

    #include <stdio.h>
    int main()
    {
    int i,n,min,m;//i为输入的个数n为后面的值
    scanf("%d",&i);

    scanf(
    min = i;
    for(m = 1;m<=i-1;m++)
    {
    scanf("%d",&n);
    if(min>n)
    {
    min = n;
    }
    else
    {
    min = min;
    }
    }
    printf("min = %d",min);

    }

    2 设计思路
    (1)主要描述题目算法
    第一步:i,n,min,m进行整型定义。

    第二步:输入i,min = i,根据不同的情况将赋给min值。

    第三步:注意最后输出格式中printf(""min = %d",min)。

    (2)流程图

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

    for语句并不是很熟悉,m = 1;m<=i-1不明白其具体如何在循环中实现,后经过书籍查询和网上查询,大致了解了其具体的过程。

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

    1.实验代码

    #include <stdio.h>
    int main()
    {
        int n,i,score,count,sum;//n为同学数 
        double avg;
        scanf("%d",&n);
        sum = 0;
        count = 0;
        for(i = 1;i<=n;i++)
        {
            scanf("%d",&score);
            sum = sum+score;
            if(score>=60)
            count = count+1;
        }
        avg = (double)(sum/n)*1.0;
        printf("average = %.1f
    ",avg);
        printf("count = %d
    ",count);
        return 0;
     } 

    2 设计思路
    (1)主要描述题目算法
    第一步:n,i,score,count,sum进行整型定义,avg进行浮点型定义。

    第二步:输入n,sum=0,count=0运用for循环语句,循环变量赋初值i=1,循环条件为i<=n,循环变量增值为i=i+1。

    第三步:在for语句中满足条件则输入score,定义sum=sum+score,添加关于count的条件语句。

    第四步:注意最后输出格式中avg=%.1f

    (2)流程图

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

    做题时关于如何输出count并没有思路,后上网查询得到结果,相信在下一次遇到相似的问题时,自己可以会有一定的解决思路。

    我的git地址:https://git.coding.net/exo07/disizhouzuoye.git

    git提交列表:

    我点评同学的作业:

     王姝雯:http://www.cnblogs.com/phsudie/p/7837488.html

    张心悦:http://www.cnblogs.com/zxy980612/p/7850548.html

    董欣:http://www.cnblogs.com/dx2017/p/7809786.html

    本周主要学习了for循环语句,while语句,do   while语句,包括循环语句中使用break,countinue·

    主要是对循环语句中用break,countine比较不熟练

  • 相关阅读:
    ES6-11学习笔记--正则表达式的扩展
    ES6-11学习笔记--字符串的扩展
    ES6-11学习笔记--Map
    ES6-11学习笔记--Set
    ES6-11学习笔记--Symbol
    final
    MySQL
    爬虫1
    laravel
    HTML学习
  • 原文地址:https://www.cnblogs.com/exo123/p/7828105.html
Copyright © 2011-2022 走看看