c语言练习题 加各年考题 附答案~
要求:将正确程序文件(学号后四位.doc)发送到邮箱,每迟交1天扣2分,最迟周三下午,当堂交的加2分
一、完善程序(每空3分,共12分)
1. 以下程序按结构体成员grade的值从大到小对结构体数组pu的全部元素进行排序,并输出经过排序后的pu数组全部元素的值。排序算法为选择法。
#include int id;
int grade;
} //STUD;
void main()
{STUD pu[10]={{1,4},{2,9},{3,1},{4,5},{5,3},{6,2},{7,8},{8,6},{9,5},
{10,2}},temp;
int i,j,k;
for(i=0;i<9;i++)
{k=_ ________; //k=i
for(j=i+1;j<10;j++)
if(k!=i)
{temp=pu[i];pu[i]=pu[k];pu[k]=temp;}
}
for(i=0;i<10;i++)
printf("\n %2d:%d", // pu[i].id
printf("\n");
}
二、改错题(9分)
【程序功能】
使用插入法将一个结构体数组中的数据按成员score的值从大到小排序。含有错误的源程序: #include
#include
#define N 5
struct student
{ char name[10];
int score;
} // };
void sort(struct student stud[],int n)
{ int i,j;
struct student p;
for(i=1;i