1 条题解

  • 0
    @ 2025-4-14 18:41:36

    C :

    #include<stdio.h>
    #include<string.h>
    #define max_len 10
    #define stu_num 30
    #define course_num 6
    typedef struct student 
    {
    	long num;
    	char name[max_len];
    	float score[course_num];
    	float sum;
    	float aver;	
    }STU;
    void ReadScore(STU stu[],int n,int m)
    {
    	int i,j;
    	char ch;
    	for(i=0;i<n;i++)
    	{
    		scanf("%ld",&stu[i].num);
    		scanf("%s",stu[i].name);
    		for(j=0;j<m;j++)
    		{
    			scanf("%f",&stu[i].score[j]);
    		}
    	}
    }
    void aver_sum(STU stu[],int n,int m) 
    {
    	int i,j;
    	for(i=0;i<n;i++)
    	{ 
    		stu[i].sum=0;
    		for(j=0;j<m;j++)
    		{stu[i].sum=stu[i].sum+stu[i].score[j];
    		 }
    		 stu[i].aver=stu[i].sum/m;
    	}
    } 
    void SwapFloat (float *x,float *y)
    {
    float temp;
    temp=*x;
    *x=*y;
    *y=temp;	
    } 
    void SwapLong (long *x,long *y)
    {
    	long temp;
    	temp=*x;
    *x=*y;
    *y=temp;
    }
    void SwapChar(char x[],char y [])
    {
    	char temp[max_len];
    	strcpy(temp,x);
    	strcpy (x,y);
    	strcpy(y,temp);
    }
    void printscore (STU stu[],int n,int m )
    {
    int i;
    for(i=0;i<n;i++)
    {
    	printf("%ld %s %.0f %.0f\n",stu[i].num,stu[i].name,stu[i].sum,stu[i].aver);
    }	
    }
    void sortname (STU stu[],int n,int m)
    {
    	int i,j,t;
    	for(i=0;i<n-1;i++)
    	{	
    	for(j=i+1;j<n;j++)
    	{
    		if(strcmp(stu[j].name,stu[i].name)<0)
    		{
    		for(t=0;t<m;t++)
    		{
    			SwapFloat(&stu[i].score[t],&stu[j].score[t]);
    		}
    		SwapFloat (&stu[i].sum,&stu[j].sum);
    		SwapFloat (&stu[i].aver,&stu[j].aver);
    		SwapLong (&stu[i].num,&stu[j].num);
    		SwapChar (stu[i].name,stu[j].name);
    	}
    	}
    }
    }
    int main()
    {
    int n=0,m=0;
    STU stu[stu_num];
    scanf("%d",&n);
    scanf("%d",&m);
    ReadScore(stu,n,m);
    aver_sum(stu,n,m);
    sortname(stu,n,m);
    printscore(stu,n,m);
    return 0;
    }
    
    
    • 1

    【设计型】第12章:结构体和共同体 实验题 学生成绩管理系统(7)

    信息

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