# c实验6

实验任务4
#include<stdio.h>
#include<string.h>
#define N 100
typedef struct
{
char num[10];
int s1;
int s2;
double sum;
char level[10];
}STU;
int fun(STU a[],int n,STU h[]);
int main()
{
STU s[N]={{"GA05",85,76},
{"GA03",76,90},
{"GA02",69,90},
{"GA04",85,56},
{"GA01",91,95},
{"GA07",72,80},
{"GA08",64,45},
{"GA06",87,98},
{"GA015",85,86},
{"GA013",91,97}};
STU h[N];
int i,k,n=10;
k=fun(s,n,h);
printf("There are:\n");
for(i=0;i<k;i++)
printf("%s %d %d %.2f %s\n",h[i].num,h[i].s1,h[i].s2,h[i].sum,h[i].level);
return 0;
}
int fun(STU a[],int n,STU h[])
{
double ave=0;
int i;
for(i=0;i<n;i++)
{
a[i].sum=0.3*a[i].s2+0.7*a[i].s1;
ave+=a[i].sum;
}
ave/=n;
int j=0;
for(i=0;i<n;i++)
if(a[i].sum>=ave)
{
strcpy(a[i].level,"均分以上");
h[j++]=a[i];
}
return j;
}

实验任务5
#include<stdio.h>
#include<string.h>
#define N 5
typedef struct student
{
char name[10];
int num;
int maths;
int computer;
int english;
int sum;
char level[10];
}STU;
void fun(STU a[],int n);
int main()
{
STU s[6*N]={{"A001",1,34,67,80},
{"B003",3,78,87,90},
{"A002",2,90,98,99},
{"BOO2",4,56,78,98},
{"A005",5,35,67,79}};
int i;
fun(s,N);
for(i=0;i<N;i++)
printf("%s %d %d %d %d %d %s\n",s[i].name,s[i].num,s[i].maths,s[i].computer,s[i].english,s[i].sum,s[i].level);
return 0;
}
void fun(STU a[],int n)
{
int max,min;
max=min=a[0].maths+a[0].computer+a[0].english;
int i;
for(i=0;i<N;i++)
{
a[i].sum=a[i].maths+a[i].computer+a[i].english;
if(a[i].sum<min)
min=a[i].sum;
else if(a[i].sum>max)
max=a[i].sum;
}
for(i=0;i<N;i++)
{
if(a[i].sum==max)
strcpy(a[i].level,"优秀");
else if(a[i].sum==min)
strcpy(a[i].level,"不及格");
else
strcpy(a[i].level,"合格");
}
}

实验任务6
#include<stdio.h>
#define N 5
typedef struct student
{
long no;
char name[20];
int score;
}STU;
void input(STU s[],int n);
int find_min_list(STU s[],STU t[],int n);
void output(STU s[],int n);
int main()
{
STU stu[N],min_list[N];
int count;
printf("录入%d个学生信息：\n",N);
input(stu,N);
printf("\n统计最低分人数和学生信息……\n");
count=find_min_list(stu,min_list,N);
printf("\n一共有%d个最低分，信息如下：\n",count);
output(min_list,count);
return 0;
}
void input(STU s[],int n)
{
int i;
for(i=0;i<n;i++)
scanf("%ld %s %d",&s[i].no,s[i].name,&s[i].score);
}
void output(STU s[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%ld %s %d\n",s[i].no,s[i].name,s[i].score);
}
int find_min_list(STU s[],STU t[],int n)
{
int i,min=s[0].score;
for(i=0;i<n;i++)
if(s[i].score<min)
min=s[i].score;
int j=0;
for(i=0;i<n;i++)
if(s[i].score==min)
t[j++]=s[i];
return j;
}

posted @ 2023-05-25 15:00  202183360008仲苏洋  阅读(13)  评论(0编辑  收藏  举报