zoukankan      html  css  js  c++  java
  • 今天突然想起了

    练习3-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 fact(int a[ ],int y);
    int n,i;//n指学生人数
    int count=0,sum=0;
    double average=0;
    scanf("%d",&n);
    if(n<=0)
    {
    printf("average = 0.0 ");
    printf("count = 0 ");

    }else
    {
    int class[n];//在这里代替循环使用数组

    for(i=0;i<n;i++)
    {
    scanf("%d",&class[i]);
    if(class[i]<=0)
    {
    printf("成绩不能为负数,请重新输入!");
    scanf("%d",&class[i]);
    }
    }
    sum=fact(class , n);

    for(i=0;i<n;i++)
    {
    if(class[i]>=60)
    {
    count++;
    }
    }
    average=sum*1.0/n;
    printf("average = %.1lf ",average);
    printf("count = %d ",count);
    }

    return 0;
    }
    int fact(int a[ ],int y)
    {
    int i,add=0;
    for(i=0;i<y;i++)
    {
    add+=a[i];
    }
    return add;
    }

    第二种

    #include<stdio.h>
    int main()
    {
    int n,i,x;
    int sum=0,count=0;
    double average=0;
    scanf("%d",&n);
    if(n>0)
    {
    for(i=1;i<=n;i++)
    {
    scanf("%d",&x);
    sum+=x;
    if(x>=60)
    {
    count++;
    }
    }
    average=sum*1.0/n;
    printf("average = %.1lf ",average);
    printf("count = %d ",count);

    }else
    {
    printf("average = 0.0 ");
    printf("count = 0 ");
    }

    return 0;
    }

    只供自己学习参考,方便自己知道做过哪些题目。偶尔会附上别人写的代码(整张截图)供自己学习和对比,若题主不同意,可删
  • 相关阅读:
    学习进度笔记14
    学习进度笔记13
    学习进度笔记12
    学习进度笔记11
    学习进度笔记10
    学习进度笔记9
    学习进度笔记8
    学习进度笔记7
    学习进度笔记6
    微信客户端兼容性
  • 原文地址:https://www.cnblogs.com/wven/p/12581198.html
Copyright © 2011-2022 走看看