在输出部分,你没有使用正确的格式化字符串来打印字符串。在printf函数中,应将%s用作字符串的格式化指示符,并且需要用逗号将字符串参数与其他参数分隔开。

修改后的代码如下:

#include<stdio.h>

int main()
{
    int n=0;
    scanf("%d",&n);
    char name[100];
    char sno[100];
    int grade;
    char *name_max = NULL;
    char *name_min = NULL;
    char *sno_max = NULL;
    char *sno_min = NULL;
    int max=0;
    int min=0;
    for(;n>0;n--)
    {
        scanf("%s %s %d",name,sno,&grade);
        if(max==0)
        max=grade;
        if(min==0)
        min=grade;

        if(grade>max)
        {
            max=grade;
            sno_max=sno;
            name_max=name;
        }
        if(grade<min)
        {
            min=grade;
            sno_min=sno;
            name_min=name;
        }

    }

    printf("%s %s\n",name_max,sno_max);
    printf("%s %s",name_min,sno_min);

    return 0;
}

请注意,输出的每一行末尾都有一个换行符(\n),以确保输出格式正确

#includestdiohint main int n=0; scanfd&n; char name100; char sno100; int grade; char name_max = NULL; char name_min = NULL; char sno_max = NULL; char sno_min = NULL; int

原文地址: https://www.cveoy.top/t/topic/ijbP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录