如图,求大神解答呜呜呜急求
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int n;
struct person
{
char id [20];
char name [20];
int s1,s2,s3;
int sum;
} p[100];
void input()
{
scanf("%d",&n);
for(int i=0; i<n; i++)
{
p[i].sum=0;
scanf("%s %s %d %d %d",p[i].id,p[i].name,&p[i].s1,&p[i].s2,&p[i].s3);
p[i].sum+=p[i].s1+p[i].s2+p[i].s3;
}
}
int main()
{
int i,j,t,m;
input();
for(i=0;i<n;i++) {
for(j=0;j<n-i-1;j++){
if(p[j].sum<p[j+1].sum)
{
char str[101],str1[101];
m=p[j].s1;
p[j].s1=p[j+1].s1;
p[j+1].s1=m;
m=p[j].s2;
p[j].s2=p[j+1].s2;
p[j+1].s2=m;
m=p[j].s3;
p[j].s3=p[j+1].s3;
p[j+1].s3=m;
m=p[j].sum;
p[j].sum=p[j+1].sum;
p[j+1].sum=m;
strcpy(str,p[j+1].name);
strcpy(p[j+1].name,p[j].name);
strcpy(p[j].name,str) ;
strcpy(str1,p[j+1].id);
strcpy(p[j+1].id,p[j].id);
strcpy(p[j].id,str1) ;
}
}
}
for(i=0; i<n; i++)
{
printf("%s %s %d %d %d %d\n",p[i].id,p[i].name,p[i].s1,p[i].s2,p[i].s3,p[i].sum);
}
}
/* 5
101 张三 80 76 98
102 李四 96 56 78
103 王五 64 89 63
104 小二 62 54 86
105 小四 78 86 91*/
#include <stdio.h>
struct student
{
int number ;
char name[10] ;
int math ;
int english ;
int chinse ;
double average ;
} ;
int main()
{
int num ;
int i,j ;
struct student temp;
struct student st_arr[10];
scanf("%d",&num);
for(i=0;i<num;i++)
{
scanf("%d %s %d %d %d",&st_arr[i].number,&st_arr[i].name,&st_arr[i].math,&st_arr[i].english,&st_arr[i].chinse);
st_arr[i].average=(st_arr[i].math+st_arr[i].english+st_arr[i].chinse)*1.0/3 ;
}
for(i=0;i<num-1;i++)
{
for(j=0;j<num-1-i;j++)
{
if(st_arr[j].average<st_arr[j+1].average)
{
temp=st_arr[j];
st_arr[j]=st_arr[j+1];
st_arr[j+1]=temp;
}
}
}
for(i=0;i<num;i++)
{
printf("%d %s %.2lf\n",st_arr[i].number,st_arr[i].name,st_arr[i].average);
}
}
#include <stdio.h>
typedef struct _student
{
int nid;
char name[20] ;
int math ;
int eng;
int chn;
int total;
}student ;
void main()
{
int n,i,j,t;
student stu[20];
printf("请输入学生数量:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d个学生信息:",i+1);
scanf("%d %s %d %d %d",&sut[i].nid,stu[i].name,&stu[i].math,&stu[i].eng,&stu[i].chn);
stu[i].total = stu[i].math + stu[i].eng + stu[i].chn;
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(stu[j].total < stu[j+1].total)
{
t = stu[j];
stu[j] = stu[j+1];
stu[j+1] = t;
}
}
}
for(i=0;i<n;i++)
{
printf("%d %s %d\n",stu[i].nid,stu[i].name,stu[i].total);
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m