第 1 页:选择题 |
第 5 页:基本操作题 |
第 6 页:程序改错 |
第 7 页:程序设计 |
第 8 页:参考答案 |
四、程序设计题(共18分)
学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc( ),其功能是:按分数的高低排列学生的记录,高分在前。
注意:部分源程序给出如下。
请勿改动main( )函数和其他函数中的任何内容,仅在函数proc( )的花括号中填入所编写的若干语句。
试题程序:
#include
#define M l6
typedef struct
{
char num[l0];
int S;
}
STREC:
void proc(STREC a[])
{
int i,j;
STREC t;
for(i=1;i排序*/
for(j=0;jif(a[j].s的记录,高分在前*/
{t=a[j];a[j]=a[j+1];a[j+1]=t;)
}
void main( )
{
STREC stu[M]={{"GA005",85),{"GA003",76},
{"GA002",69},{"GA004",85),{"GA001",91),
{"GA007",72),{"GA008",64),{"GA006",87),
{"GA015",85),{"GA013",91),{"GA012",64),
{¨GA014",91),{"GA011",66),{"GA017",64},
{"GA018",64),{"GA016",72}};
int i;
proc(stu);
printf("The data after sorted:\n");
for(i=0;i{
if(i%4= =0)
//每行输出4个学生记录
printf("n");
printf("%s%4d",stu[i],num,stu[i].s);
}
printf("\n");
}
编辑推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |