c语言的一个问题有谁会

输入三个学生两门成绩,
输出每个学生的最高分,
输出每门课的最低分。

基于Monster 组和GPT的调写:

#include <stdio.h>

int main() {
    // 声明变量
    int scores[3][2];  // 用二维数组来存储学生的成绩
    int max_score[3];  // 用一维数组来存储每个学生的最高分
    int min_score[2];  // 用一维数组来存储每门课程的最低分
    int i, j;

    // 输入每个学生的两门成绩
    for (i = 0; i < 3; i++) {
        printf("请输入第 %d 个学生的两门成绩:\n", i + 1);
        for (j = 0; j < 2; j++) {
            scanf("%d", &scores[i][j]);
        }
    }

    // 计算每个学生的最高分
    for (i = 0; i < 3; i++) {
        max_score[i] = scores[i][0];
        for (j = 1; j < 2; j++) {
            if (scores[i][j] > max_score[i]) {
                max_score[i] = scores[i][j];
            }
        }
        printf("第 %d 个学生的最高分是:%d\n", i + 1, max_score[i]);
    }

    // 计算每门课程的最低分
    for (j = 0; j < 2; j++) {
        min_score[j] = scores[0][j];
        for (i = 1; i < 3; i++) {
            if (scores[i][j] < min_score[j]) {
                min_score[j] = scores[i][j];
            }
        }
        printf("第 %d 门课程的最低分是:%d\n", j + 1, min_score[j]);
    }

    return 0;
}


该回答引用ChatGPT
代码:

#include<stdio.h>
int main( ){
struct student{
    char no[100] ;
    char name[100] ;
    float score1  ;
    float score2  ;
    float average;
    }s[3];
    int i,max;
        for(i=0;i<3;i++){
        scanf("%s %s %f %f",s[i].no,s[i].name,&s[i].score1,&s[i].score2);
    }
    
    for(i=0;i<3;i++){
        s[i].average=(s[i].score1+s[i].score2)/2;
    }

    printf("%10.1f%10.1f%10.1f",s[0].average,s[1].average,s[2].average);
    if(s[0].average>s[1].average){
        if(s[0].average>s[2].average){
                max=0;
        }else{
                max=2;
        }
    
    }else if(s[1].average>s[2].average){
        max=1;
    }else if(s[2].average>s[3].average){
            max=2;
    }else{
        max=3;
    }

    printf("\nNo=%s,Name=%s,Score1=%.1f,Score2=%.1f,Average=%.1f",s[max].no,s[max].name,s[max].score1,s[max].score2,s[max].average);
    return 0 ;
}

引用:https://blog.csdn.net/royal_77QAQ/article/details/106584816

该回答引用ChatGPT

使用C#语言实现输入三个学生两门成绩,输出每个学生的最高分和每门课的最低分的示例代码:

using System;

class Program
{
    static void Main(string[] args)
    {
        const int numStudents = 3;
        const int numSubjects = 2;
        int[,] scores = new int[numStudents, numSubjects];

        // 输入成绩
        for (int i = 0; i < numStudents; i++)
        {
            Console.WriteLine($"请输入学生{i + 1}的成绩:");
            for (int j = 0; j < numSubjects; j++)
            {
                Console.Write($"请输入第{j + 1}门课程的成绩:");
                scores[i, j] = Convert.ToInt32(Console.ReadLine());
            }
        }

        // 输出每个学生的最高分
        for (int i = 0; i < numStudents; i++)
        {
            int maxScore = 0;
            for (int j = 0; j < numSubjects; j++)
            {
                if (scores[i, j] > maxScore)
                {
                    maxScore = scores[i, j];
                }
            }
            Console.WriteLine($"学生{i + 1}的最高分为:{maxScore}");
        }

        // 输出每门课的最低分
        for (int j = 0; j < numSubjects; j++)
        {
            int minScore = scores[0, j];
            for (int i = 1; i < numStudents; i++)
            {
                if (scores[i, j] < minScore)
                {
                    minScore = scores[i, j];
                }
            }
            Console.WriteLine($"第{j + 1}门课程的最低分为:{minScore}");
        }

        Console.ReadKey();
    }
}


全是GPT,题主自己不会GPT么


#include<stdio.h>
int main()
{
    int numA[2],numB[2],numC[2];

    printf("请输入同学A的语文成绩和数学成绩:\n");
    for(int i=0;i<2;i++)
    {
        scanf("%d",numA+i);
    }

    printf("请输入同学B的语文成绩和数学成绩:\n");
    for(int i=0;i<2;i++)
    {
        scanf("%d",numB+i);
    }

    printf("请输入同学C的语文成绩和数学成绩:\n");
    for(int i=0;i<2;i++)
    {
        scanf("%d",numC+i);
    }
    printf("同学A的最高分:\n");
    if(numA[0]<numA[1])
    {
        printf("%d\n",numA[0]);
    }
    else
    {
        printf("%d\n",numA[1]);
     }
    printf("同学B的最高分:\n");
    if(numB[0]<numB[1])
    {
        printf("%d\n",numB[0]);
    }
    else
    {
        printf("%d\n",numB[1]);
     }
    printf("同学C的最高分:\n");
    if(numC[0]<numC[1])
    {
        printf("%d\n",numC[0]);
    }
    else
    {
        printf("%d\n",numC[1]);
     }

    int Min_Y,Min_X=0;
    int YuWen[3]={numA[0],numB[0],numC[0]};
    int ShuXue[3]={numA[0],numB[1],numC[2]};
     for(int i=0;i<3;i++)
     {
         if(Min_Y>YuWen[i])
         {
             Min_Y=YuWen[i];
         }
         if(Min_X>ShuXue[i])
         {
             Min_X=ShuXue[i];
         }
     }
     printf("语文成绩最低分:\n");
     printf("%d\n",Min_Y);
     printf("数学成绩最低分:\n");
     printf("%d\n",Min_X);
 
 
    return 0;
}