附加题帮你实现了,告辞。
#include
#include
#include
typedef struct student
{
char name[12];
unsigned short C_language;
unsigned short rank;
}student_t;
unsigned short num;
unsigned int average;
void enter_message(student_t *p);
void sort(student_t *p);
void print_message(student_t *p);
void swit_student(student_t *p,student_t *q);
void search_student(student_t *p);
int main(int argc, char const *argv[])
{
printf("Enter the number of students:");
scanf("%hu",&num);
student_t *p = NULL;
p = (student_t *)malloc(num * sizeof(student_t));
printf("Enter students message,example: name C_language\n");
enter_message(p);
sort(p);
print_message(p);
search_student(p);
free(p);
return 0;
}
void enter_message(student_t *p)
{
unsigned short i = 0;
student_t *temp = p;
while(i < num)
{
printf("Enter the %hu message:\n", i + 1);
scanf("%s %hu",temp->name,&temp->C_language);
average += temp->C_language;
temp += 1;
i++;
}
}
void sort(student_t *p)
{
student_t *temp;
for (int i = 0; i < num; ++i)
{
for (int j = i+1; j < num; ++j)
if(p[i].C_language < p[j].C_language)
swit_student(&p[i],&p[j]);
p[i].rank = i+1;
}
temp = p;
printf("The bast student is:name:%s C_language:%hu\n"
,temp->name,temp->C_language);
temp += num -1;
printf("The worst student is:name:%s C_language:%hu\n"
,temp->name,temp->C_language);
printf("The C_language average:%0.2f\n", (average*1.0)/num);
}
void print_message(student_t *p)
{
unsigned short i = 0;
student_t *temp = p;
while(i < num)
{
printf("The student is:name:%s C_language:%hu\n"
,temp->name,temp->C_language);
temp += 1;
i++;
}
}
void swit_student(student_t *p,student_t *q)
{
student_t temp;
strcpy(temp.name,p->name);
strcpy(p->name,q->name);
strcpy(q->name,temp.name);
temp.C_language = p->C_language;
p->C_language = q->C_language;
q->C_language = temp.C_language;
}
void search_student(student_t *p)
{
char student_name[12] = {0};
printf("Pls enter the student name\n");
scanf("%s",student_name);
for (int i = 0; i < num; ++i)
{
if(!strcmp(p[i].name,student_name))
printf("The student is:name:%s C_language:%hu Ranking:%hu\n"
,p[i].name,p[i].C_language,p[i].rank);
}
}
#include
int main()
{ int i,x,max=-1,min=9999,s=0;
for(i=0;i<5;i++)
{scanf("%d",&x);
if(x>max)max=x;
if(xs+=x;
}
printf("最高%d\n最低分=%d\n平均分=%.1f\n",max,min,s/5.0);
return 0;
}
#include
int main()
{
int i;
float a[5],min,max,avg; //max表示最高分,min表示最低分,avg表示平均分
printf("请输入5位学生的分数\n");
printf("********************************\n");
for(i=0;i<5;i++)
{
printf("请输入一位学生的分数:");
scanf("%f",&a[i]);
}
max=min=avg=a[0];
for(i=1;i<5;i++)
{
if(min>a[i])
{min=a[i];}
if(max {max=a[i];}
avg=avg+a[i];
}
avg=avg/5;
printf("max=%f\n",max);
printf("min=%f\n",min);
printf("max=%f\n",avg);
printf("********************************\n");
}
希望可以帮到你。