1 条题解

  • 0
    @ 2025-4-12 22:03:05

    C :

    #include<stdio.h>
    #include<string.h>
    int N;
    struct Student
    {
    	char num[20];
    	char name[20];
    	int score[3];
    	int aver;
    };
    int main()
    {
        int ss[N];
        scanf("%d",&N);
        memset(ss,0,sizeof(0));
    	void input(struct Student stu[]);
    	struct Student max(struct Student stu[]);
    	void print(struct Student stu);
    	struct Student stu[N],*p=stu;
        input(p);
        for(int i=0;i<3;i++)
        {
            ss[i]=0;
            for(int j = 0 ;j< N;j++)
            ss[i]+=stu[j].score[i];
        }
        printf("%d %d %d\n",ss[0]/N,ss[1]/N,ss[2]/N);
    	print(max(p));
    	return 0;
    }
    	void input(struct Student stu[])
    	{
    		int i;
    		for(i=0;i<N;i++)
    		{
    			scanf("%s %s %d %d %d",stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
    			stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
    		}
    
    	}
    	struct Student max(struct Student stu[])
    	{
    		int i,m=0;
    		for(i=0;i<N;i++)
    			if(stu[i].aver>stu[m].aver)
    				m=i;
    			return stu[m];
    	}
    	void print(struct Student stu)
    	{
    		printf("%s %s %d %d %d\n",stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2]);
    	}
    
    

    C++ :

    #include<stdlib.h>
    #include<stdio.h>
    struct student
    {
        char num[4];
        char name[10];
        int great[3];
        int sum;
    
    
    };
    int main()
    {
        int n,m,i,j,sum1=0,sum2=0,sum3=0;
        scanf("%d",&n);
        struct student a[n],temp;
        temp.sum=0;
        for(i=0; i<n; i++)
        {
            scanf("%s",&a[i].num);
            scanf("%s",&a[i].name);
            scanf("%d%d%d",&a[i].great[0],&a[i].great[1],&a[i].great[2]);
            a[i].sum=a[i].great[0]+a[i].great[1]+a[i].great[2];
        }
    
        for(i=0; i<n; i++)
        {
            sum1+=a[i].great[0];
            sum2+=a[i].great[1];
            sum3+=a[i].great[2];
        }
        printf("%d %d %d\n",sum1/n,sum2/n,sum3/n);
        for(i=0; i<n; i++)
            if(a[i].sum>temp.sum)
                temp=a[i];
    
        printf("%s ",temp.num);
        printf("%s ",temp.name);
        printf("%d %d %d\n",temp.great[0],temp.great[1],temp.great[2]);
        return 0;
    }
    
    
    • 1

    C语言程序设计教程(第三版)课后习题11.5

    信息

    ID
    2737
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者