NEFU锐格实验五[结构体]
知识点
题目 | 知识点 |
---|---|
5885 | 结构体输入输出 |
5886 | 结构体与判断 |
5887 | 结构体成员参与运算 |
5888 | 结构体成员参与运算 |
5889 | 结构体成员参与运算和判断 |
题目
5885
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
#define N 100
struct Student
{
int id;
char name[N];
double sc;
};
struct Student stu[N];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d %s %lf",&stu[i].id,&stu[i].name,&stu[i].sc);
for(int i=1;i<=n;i++)
printf("%d %s %.2lf\n",stu[i].id,stu[i].name,stu[i].sc);
return 0;
}
5886
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
#define N 100
struct Student
{
int id;
char name[N];
int sc;
};
struct Student stu[N];
int n,a,b,c;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d %s %d",&stu[i].id,&stu[i].name,&stu[i].sc);
for(int i=1;i<=n;i++)
{
if(stu[i].sc>=80)a++;
else if(stu[i].sc>=60)b++;
else c++;
}
printf("%d %d %d",a,b,c);
return 0;
}
5887
又长又臭的写法hh,动动你的小脑瓜子简化一下吧
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
#define N 100
struct Student
{
int id;
char name[20];
double sc[4];
};
struct Student stu[N];
int n,a,b,c;
int main()
{
while(~scanf("%d",&n))
{
for(int i=1;i<=n;i++)
{
scanf("%d %s %lf %lf %lf %lf",&stu[i].id,&stu[i].name,&stu[i].sc[1],&stu[i].sc[2],&stu[i].sc[3],&stu[i].sc[4]);
double sum=stu[i].sc[1]+stu[i].sc[2]+stu[i].sc[3]+stu[i].sc[4];
printf("%d %s %.2lf %.2lf\n",stu[i].id,stu[i].name,sum,sum/4);
}
}
return 0;
}
5888
直接上题改一下就行了,所以这次实验其实写起来蛮快的
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
#define N 100
struct Student
{
int id;
char name[20];
double sc[4];
};
struct Student stu[N];
int n,a,b,c;
int main()
{
while(~scanf("%d",&n))
{
int maxi,maxsum=0;
for(int i=1;i<=n;i++)
{
scanf("%d %s %lf %lf %lf %lf",&stu[i].id,&stu[i].name,&stu[i].sc[1],&stu[i].sc[2],&stu[i].sc[3],&stu[i].sc[4]);
double sum=stu[i].sc[1]+stu[i].sc[2]+stu[i].sc[3]+stu[i].sc[4];
if(sum>maxsum)
{
maxsum=sum;
maxi=i;
}
}
printf("%d %s\n",stu[maxi].id,stu[maxi].name);
}
return 0;
}
5889
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
#define N 100
struct Student
{
char name[20];
char xb[2];
double sg[3];
};
struct Student stu[N];
int main()
{
int n;
scanf("%d",&n);
int maxi;
double maxsum=0;
for(int i=1;i<=n;i++)
{
scanf("%s %s",&stu[i].name,&stu[i].xb);
scanf("%lf %lf %lf",&stu[i].sg[1],&stu[i].sg[2],&stu[i].sg[3]);
if(stu[i].sg[1]+stu[i].sg[2]+stu[i].sg[3]>maxsum&&stu[i].xb[0]=='f')
{
maxsum=stu[i].sg[1]+stu[i].sg[2]+stu[i].sg[3];
maxi=i;
}
}
printf("I choose %s,and her score is %.2lf.",stu[maxi].name,maxsum/3);
}