【项目1-带姓名的成绩单】

设score数组中存储8名同学的C语言成绩,字符串数组name中存储同学们的姓名。这两个数组中,每名同学的姓名与成绩的下标要始终保持一致(例如name[i]和score[i]表示同一位同学(下标为i)的姓名和C语言成绩,否则会张冠李戴)。


(1)输出按成绩排序后的同学的名单;


(2)输出按同学姓名排序后的成绩单(排序对象是字符串)。


#include<stdio.h>
#include<string.h>
#define num 8
int main()
{
int i,j,t;
char name[num][10]= {"zhao","qian","sun","li","zhou","wu","zheng","wang"};
double score[num]= {79,84,65,89,60,92,78,56};
//(1)按成绩排序并输出结果


//(2)按姓名排序并输出结果


}

提示:排序中交换score中的元素时,只要同时也交换name中的相应元素,就可以实现姓名和成绩的同步(如果交换成绩而不交换姓名,两者的对应关系就被破坏了。)


[

​参考解答​ ​]




【项目2-电子词典】


做一个简单的电子词典。在文件

​dictionary.txt​ ​中,保存的是英汉对照的一个词典,词汇量近8000个,英文与释义间用’\t’隔开。编程序,将文件中的内容读到两个数组e[]和c[]中,分别代表英文和中文,由用户输入英文词,显示中文意思。运行程序后,支持用户连续地查词典,直到输入“0000”结束,如图:


提示:文件中的词汇已经排序,故在查找时,用二分查找法提高效率。


《C语言及程序设计》实践项目——字符串数组_c语言

[ ​参考解答​ ​]




4.Maratona de Programa¸c˜ao da SBC 2013 Sub-Regional Brasil do ACM ICPC C.Boss 拓扑排序 5.费马小定理 求解逆元模板