C语言 输入5 80 90 88 96 70输出84.8

假如一个班级,r名同学选修了C语言程序设计,要求统计该科门课的平均成绩。输入格式:第一个数为学生人数,后面接着n个成绩,输出平均成绩。输入:5 80 90 88 96 70 输出84.8


#include <stdio.h>
int main() {
 int i,r;
 float s=0.0f,a;
 scanf("%d",&r);
 for (i=0;i<r;i++) {
  scanf("%f",&a);
  s+=a;
 }
 printf("%.1f\n",s/r);
 return 0;
}

参考如下:

  
#include "stdio.h"
int main()
{
    int i, count;
    scanf("%d", &count);

    double a=0.0, sum = 0.0;
    for(i=0;i<count;i++)
    {
        scanf("%lf", &a);
        sum += a;
    }

    printf("%d 个学生,平均成绩 %.1lf", count, sum  / count);
    return 0;
}
#include <stdio.h>

int main() 
{
    int n, i;
    float sum = 0;
    
    // 输入学生人数n
    scanf("%d", &n);
    
    // 输入n个成绩,并累加
    for(i=0; i<n; i++) {
        float score;
        scanf("%f", &score);
        sum += score;
    }
    
    // 计算平均成绩
    float avg = sum / n;
    
    // 输出平均成绩
    printf("%.1f", avg);
}

这个程序完成了:

  1. 输入学生人数n。
  2. 循环输入n个成绩,并累加求和sum。
  3. 求平均成绩avg = sum / n。
  4. 输出平均成绩,精度为小数点后1位。所以如果输入为:
    5
    80
    90
    88
    96
    70程序会输出:
  5. 8
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7701034
  • 你也可以参考下这篇文章:C语言————以下程序段功能是输入学生成绩(满分100),90分以上(含90分)为优,80分~90分(含80分为良),60分~80分(含60分)为及格,其余不及格,设成绩为整数
  • 除此之外, 这篇博客: C语言:51单片机看这一篇就够了中的 十六、单片机实操十四:矩阵键盘密码锁 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    1、复制工程后打开

    2、编写程序

    main.c

    #include <STC89C5xRC.H>
    #include "LCD1602.h"
    #include "Delay.h"
    #include "MatrixKey.h"
    
    unsigned char KeyNum;
    unsigned int Password, Count;
    
    void main()
    {
    	LCD_Init();
    //	LCD_ShowChar(1,1,'B');
    	LCD_ShowString(1,1,"Password:");
    //	LCD_ShowNum(1,9,123,3);
    //	LCD_ShowSignedNum(1,13,-66,2);
    //	LCD_ShowHexNum(2,1,0xA8,2);
    //	LCD_ShowBinNum(2,4,0xAA,8);
    //	LCD_ShowChar(2,13,'A');
    	while(1)
    	{
    		KeyNum=MatrixKey();
    		if(KeyNum)
    		{
    			if(KeyNum<=10)  // 如果S1~S10按键按下,输入密码
    			{
    				if(Count<4)  // 密码四位数
    				{
    				Password*=10;  //  密码左移一位,这样就可以依次输入密码
    				Password+=KeyNum%10;  // 获取一位密码,加入到原密码,此时10为0
    				Count++;
    				}
    			}
    			LCD_ShowNum(2,1,Password,4);
    			if(KeyNum==11)  // 确认
    			{
    				if(Password==1234)
    				{
    					LCD_ShowString(1,14,"OK ");
    					Password=0;
    					Count=0;
    					LCD_ShowNum(2,1,Password,4);
    				}
    				else
    				{
    					LCD_ShowString(1,14,"ERR");
    					Password=0;
    					Count=0;
    					LCD_ShowNum(2,1,Password,4);
    				}
    			}
    			if(KeyNum==12)  //取消
    			{
    					Password=0;
    					Count=0;
    					LCD_ShowString(1,14,"   ");
    					LCD_ShowNum(2,1,Password,4);
    			}
    		}
    	}
    }

    其它文件:复制之前写的模块即可。

  • 以下回答来自chatgpt:

    我来回答第一个问题:关于C语言中统计班级平均成绩的问题,可以优化如下:

    #include <stdio.h>
    
    int main()
    {
        int n, score, sum = 0;
        float average;
        printf("请输入要输入的学生的个数:");
        scanf("%d", &n);
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &score);
            sum += score;
        }
        average = (float)sum / n;
        printf("这门课程的平均成绩为:%.2f", average); //保留两位小数
        return 0;
    }
    

    注释:首先输入学生的个数,然后用 for 循环输入每个学生的成绩,利用 sum 累计所有的学生成绩,最后算出平均值,最后输出平均值并保留两位小数。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^