输入5个同学的3门课程成绩,计算各门课程的总分及平均分

简介: 输入5个同学的3门课程成绩,计算各门课程的总分及平均分

输入5个同学的3门课程成绩,计算各门课程的总分及平均分


当第一眼看见标题时候,笔者回想了一下,最近几天的所学,所思,这个竟然。。。原来如此简单!但是,当要使得正确无误的运算出来结果,看来对于弱弱的小白笔者而言,需要绞尽不少脑汁。


但是,好在结果虽出乎意料,但也惊人的运转出来,这是笔者在之前不敢想象的事情;我竟然也可以写出正确运转的代码!


废话不多说,直接上笔者所写的代码,供大佬参考:(内容多为坎坷)


望大家多多斧正


#include 
int main()
{
    int a[5][3];
    int i = 0, j = 0;
    float sum = 0;
    float ave = 0;
    printf("请输入五个同学的三门课程成绩: \n");
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 3; j++)
        {
            scanf_s("%d ", &a[i][j]);
            printf("第%d个同学的成绩为:%d\n", i + 1, a[i][j]);
            sum += a[i][j];
            ave = sum / 3;
        }
        printf("成绩为:%f\n", sum);
        printf("平均值为:%f\n", ave);
    }
    //printf("成绩为:%f\n", sum);
    /*ave = sum / (i * j);
    printf("平均值为:%f\n", ave);*/
    return 0;
    /*printf("五个同学的三门课程成绩分别为: \n");
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 3; j++)
        {
            printf("第%d的成绩为:%d \n", i + 1, a[i][j]);
        }
    }
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 3; j++)
        {
            sum += a[i][j];
        }
    }*/
    /*printf("成绩为:%f\n", sum);
    ave = sum/(i * j);
    printf("平均值为:%f\n", ave);
    return 0;*/
}


运行结果为:


0a2653c851af460fa595bd959398a8f1.png


虽然运行出来了,但是,跟官方的标准并不一样!很为震惊?


下面来看看官方的标准:


#include <stdio.h>
#define N 5                 //用了define 函数
int main()
{
    int i, j;
    int score[N][3], sum[3] = { 0 }, avg[3];
    printf("请输入五个同学的三门课程成绩:\n");
    for (i = 0; i < N; i++)
    {
        for (j = 0; j < 3; j++)
        {
            scanf_s("%d", &score[i][j]);
        }
    }
    for (j = 0; j < 3; j++)
    {
        for (i = 0; i < N; i++)
        {
            sum[j] += score[i][j];
            avg[j] = sum[j] / N;
        }
    }
    printf("...................................\n");
    printf("请输入五个同学的三门课程成绩:\n");
    for (i = 0; i < N; i++)
    {
        printf("第%d位同学:", i + 1);
        for (j = 0; j < 3; j++)
            printf("%5d", score[i][j]);
        printf("\n");
    }
    printf(".............................\n");
    printf("总分为:");
    for(j=0;j<3;j++)
    {
        printf("%6d", sum[j]);
    }
    printf("\n");
    printf("平均分为:\n");
    for (j = 0; j < 3; j++)
    {
        printf("%6d", avg[j]);
    }
    printf("\n");
}


官方的运行结果为:


6de278e6d6694ce5bb08e7e842b7e74b.png


通过对比,俩个版本的结果,整体观念,显而易见


由此,笔者发现,对于某问题,还是在某情境下用数组比较好



相关文章
|
8月前
计算三个同学的总成绩、平均成绩。
计算三个同学的总成绩、平均成绩。
135 0
|
8月前
有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,并存到磁盘中
有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,并存到磁盘中
115 0
|
3月前
成绩计算
【10月更文挑战第17天】成绩计算。
102 3
|
5月前
|
SQL 数据库连接 数据库
查询每位学生成绩大于85的课程
【8月更文挑战第5天】查询每位学生成绩大于85的课程。
58 7
|
8月前
|
C++
成绩统计(蓝桥杯)
成绩统计(蓝桥杯)
计算各门课的总分及平均分
输入五个同学三门课的成绩,计算各门课的总分及平均分,并输出。
97 0
教务系统以数组的方式输入6位同学的成绩,输出平均成绩(调用函数,结果保留两位小数)并分别按照成绩高低显示出每位同学的成绩状况。
教务系统以数组的方式输入6位同学的成绩,输出平均成绩(调用函数,结果保留两位小数)并分别按照成绩高低显示出每位同学的成绩状况。
|
机器学习/深度学习
蓝桥杯-成绩统计
蓝桥杯-成绩统计
|
C语言
C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序(一)
C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序(一)
516 0
C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序(一)
|
算法 关系型数据库 MySQL
查询01课程比02课程成绩高的学生信息及其分数
查询01课程比02课程成绩高的学生信息及其分数

热门文章

最新文章