求大佬写个程序谢谢谢

编程实现: 输入6名学生的基本信息,每名学生的基本信息包括:学号、姓名、性别、年龄、语文成绩、数学成绩、物理成绩、总分、平均分等数据项。根据各科成绩计算总分和平均分,并输出这6名学生的信息。

 

【分析与设计】: 利用结构体类型数组元素存放6名学生的信息,并根据要求求出总分和平均分。

参考GPT和自己的思路:

好的,我可以帮你解决这个问题。以下是一个C语言程序示例,可以实现输入6名学生的基本信息,计算总分和平均分,并输出这6名学生的信息。你可以参考这个程序,并根据自己的需要进行修改。

#include <stdio.h>
#include <string.h>

#define N 6

struct student {
    char id[20];        // 学号
    char name[20];      // 姓名
    char sex[5];        // 性别
    int age;            // 年龄
    double chinese;     // 语文成绩
    double math;        // 数学成绩
    double physics;     // 物理成绩
    double total;       // 总分
    double average;     // 平均分
};

int main()
{
    struct student stus[N];
    int i;
    double sum_chinese = 0, sum_math = 0, sum_physics = 0;

    for (i = 0; i < N; i++) {
        printf("请输入第 %d 名学生的基本信息:\n", i+1);
        printf("学号:");
        scanf("%s", stus[i].id);
        printf("姓名:");
        scanf("%s", stus[i].name);
        printf("性别:");
        scanf("%s", stus[i].sex);
        printf("年龄:");
        scanf("%d", &stus[i].age);
        printf("语文成绩:");
        scanf("%lf", &stus[i].chinese);
        printf("数学成绩:");
        scanf("%lf", &stus[i].math);
        printf("物理成绩:");
        scanf("%lf", &stus[i].physics);

        stus[i].total = stus[i].chinese + stus[i].math + stus[i].physics;
        stus[i].average = stus[i].total / 3.0;

        sum_chinese += stus[i].chinese;
        sum_math += stus[i].math;
        sum_physics += stus[i].physics;
    }

    printf("学号\t姓名\t性别\t年龄\t语文\t数学\t物理\t总分\t平均分\n");
    for (i = 0; i < N; i++) {
        printf("%s\t%s\t%s\t%d\t%.2lf\t%.2lf\t%.2lf\t%.2lf\t%.2lf\n", 
            stus[i].id, stus[i].name, stus[i].sex, stus[i].age,
            stus[i].chinese, stus[i].math, stus[i].physics,
            stus[i].total, stus[i].average);
    }

    printf("\t平均分\t%.2lf\t%.2lf\t%.2lf\n", 
        sum_chinese/N, sum_math/N, sum_physics/N);

    return 0;
}

程序中使用了一个结构体类型数组来存储6名学生的信息,以及一个循环结构来实现逐个输入学生的信息。在计算总分和平均分时,可以直接利用结构体中的语文、数学和物理成绩计算出总分和平均分。最后再输出这6名学生的信息以及各科平均分。

希望本次回答能够帮助你解决问题。

参考GPT和自己的思路:

好的,我可以为您提供一个基本的C++程序实现这个功能,代码如下:

#include <iostream>
#include <string>
using namespace std;

// 定义学生结构体
struct Student {
    string id;
    string name;
    string sex;
    int age;
    float chinese;
    float math;
    float physics;
    float total;
    float avg;
};

int main() {
    // 定义学生类型数组
    Student stu[6];

    // 输入每个学生的信息
    for (int i = 0; i < 6; i++) {
        cout << "请输入第" << i+1 << "个学生的信息" << endl;
        cout << "学号:";
        cin >> stu[i].id;
        cout << "姓名:";
        cin >> stu[i].name;
        cout << "性别:";
        cin >> stu[i].sex;
        cout << "年龄:";
        cin >> stu[i].age;
        cout << "语文成绩:";
        cin >> stu[i].chinese;
        cout << "数学成绩:";
        cin >> stu[i].math;
        cout << "物理成绩:";
        cin >> stu[i].physics;

        // 计算总分和平均分
        stu[i].total = stu[i].chinese + stu[i].math + stu[i].physics;
        stu[i].avg = stu[i].total / 3;

        cout << endl;
    }

    // 输出每个学生的信息
    for (int i = 0; i < 6; i++) {
        cout << "学号:" << stu[i].id << endl;
        cout << "姓名:" << stu[i].name << endl;
        cout << "性别:" << stu[i].sex << endl;
        cout << "年龄:" << stu[i].age << endl;
        cout << "语文成绩:" << stu[i].chinese << endl;
        cout << "数学成绩:" << stu[i].math << endl;
        cout << "物理成绩:" << stu[i].physics << endl;
        cout << "总分:" << stu[i].total << endl;
        cout << "平均分:" << stu[i].avg << endl;

        cout << endl;
    }

    return 0;
}

请注意,这里只是一个简单的实现,实际情况中可能需要对输入进行验证和错误处理。希望能对你有所帮助!