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 printscore (STU stu[],int n,int m )
    {
    int i,j;
    for(i=0;i<n;i++)
    { 
    	printf("%ld %s ",stu[i].num,stu[i].name);
    	for(j=0;j<m;j++)
    	{
    	printf("%.0f ",stu[i].score[j]);
    }
    printf("%.0f %.0f\n",stu[i].sum,stu[i].aver);	
    }
    }
    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);
    printscore(stu,n,m);
    return 0;
    }
    
    

    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 printscore (STU stu[],int n,int m )
    {
    int i,j;
    for(i=0;i<n;i++)
    { 
    	printf("%ld %s ",stu[i].num,stu[i].name);
    	for(j=0;j<m;j++)
    	{
    	printf("%.0f ",stu[i].score[j]);
    }
    printf("%.0f %.0f\n",stu[i].sum,stu[i].aver);	
    }
    }
    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);
    printscore(stu,n,m);
    return 0;
    }
    
    
    • 1

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

    信息

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