首页上一页 1 下一页尾页 7 条记录 1/1页
寻求《C语言 从入门到精通第二版》第八章,8.9实践与练习,第二题的答案。
发表在C语言图书答疑
2016-01-30
是否精华
是
否
版块置顶:
是
否
设置时间:
非永久
永久
起始时间:
结束时间:
是否扣分:
是
否
发现光盘上给的答案,与问题不符。特此来寻求帮助,谢谢。
2.使用字符数组和实型数组分别存储学生姓名和成绩,并通过对学生成绩的排序,按照名次输出字符数组
中的学生姓名。
2.使用字符数组和实型数组分别存储学生姓名和成绩,并通过对学生成绩的排序,按照名次输出字符数组
中的学生姓名。
精彩评论 7
2016-02-01
沙发
#include<stdio.h>
#include<stdlib.h>
#define N 5
typedef struct student
{
char name[20];
double score;
} STU, *PSTU; //定义记录类型,及指向记录的指针类型
int compare(const void * s1, const void *s2 )
{
PSTU p1 = (PSTU )s1;
PSTU p2 = (PSTU )s2;
if (p1->score - p2->score >1e-6)
return 1;
else if (p2->score - p1->score > 1e-6)
return -1;
else
return 0;
}
int main(){
STU record[N]={
{"wangfang",98.5},
{"licheng",93},
{"gaohong",97},
{"chengguangnan",91},
{"zhangpengfei",94.5}
};
qsort(record, N, sizeof(STU), compare);
for (int i=0;i<N; i++)
{
printf("%s: %5.1lf ",record[i].name, record[i].score);
}
return 0;
}
#include<stdlib.h>
#define N 5
typedef struct student
{
char name[20];
double score;
} STU, *PSTU; //定义记录类型,及指向记录的指针类型
int compare(const void * s1, const void *s2 )
{
PSTU p1 = (PSTU )s1;
PSTU p2 = (PSTU )s2;
if (p1->score - p2->score >1e-6)
return 1;
else if (p2->score - p1->score > 1e-6)
return -1;
else
return 0;
}
int main(){
STU record[N]={
{"wangfang",98.5},
{"licheng",93},
{"gaohong",97},
{"chengguangnan",91},
{"zhangpengfei",94.5}
};
qsort(record, N, sizeof(STU), compare);
for (int i=0;i<N; i++)
{
printf("%s: %5.1lf ",record[i].name, record[i].score);
}
return 0;
}