开发者社区> 贺利坚> 正文

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

简介: 返回:贺老师课程教学链接 【项目1-带姓名的成绩单】设score数组中存储8名同学的C语言成绩,字符串数组name中存储同学们的姓名。这两个数组中,每名同学的姓名与成绩的下标要始终保持一致(例如name[i]和score[i]表示同一位同学(下标为i)的姓名和C语言成绩,否则会张冠李戴)。(1)输出按成绩排序后的同学的名单;(2)输出按同学姓名排序后的成绩单(排序对象是字符串)。#inclu
+关注继续查看

返回:贺老师课程教学链接


【项目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语言及程序设计实践项目-递归和多文件组织
【项目1——递归求解】 (1)立方累加和:用递归函数求f(n)=1 3 +2 3 +...+n 3  f(n)=1^3+2^3+...+n^3,要求先将f(n)数学表达式表示成递归的形式,然后再编程序实现。 (2)写出求1*3*…*n的递归式,并编写出递归函数求解。 (3)编程序,用递归函数求出两个数的最大公约数。(包括编main函数,调用定义的递归函数) 参考解答
1176 0
《C语言及程序设计》实践项目——文件操作
返回:贺老师课程教学链接 【项目1 - 小玩文件】 1、下面程序的功能是统计文本文件abc.txt中的字符个数,请填空将程序补充完整。 #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { FILE *fp; if((fp=fopen("abc.txt",_______))==
1161 0
《C语言及程序设计》实践项目——敲了哪一个键?
返回:贺老师课程教学链接 【项目2-敲了哪一个键?】 在应用中,常需要检测键盘上敲了哪一个键。每个输入的键都对应一个键值(我们熟悉的字母、数字等,键值就是其ASCII码)。在一些游戏、控制程序中,常用到的,诸如上下左右方向键、PgDn和PgUp这样的翻页键,以及ESC退出键等。用getch()捕获键盘输入,若输入的是PgDn(下一页,键值161)、PgUp(上一页,键值1
1114 0
《C语言及程序设计》实践项目——枚举应用
返回:贺老师课程教学链接 【项目1-对称点】 设计函数,可以按指定的方式,输出一个平面点的对称点 下面给出枚举类型定义和main函数(测试函数),请写出output函数的实现。 #include<stdio.h> enum SymmetricStyle {axisx, axisy, point};//分别表示按x轴, y轴, 原点对称三种方式 void
1008 0
《C语言及程序设计》实践项目——链表初步
返回:贺老师课程教学链接 【项目1-链表的合并】 输入一个整数m,表示A链表的长度,再输入m个数作为A链表中的m个数据元素,建立链表A,其头指针为heada。输入一个整数n,表示B链表的长度,再输入n个数表示B链表中的n个数据元素,建立链表B,其头指针为headb。输入i、len、j,将要从单链表A中删除自第i个元素起的共len个元素,然后将单链表A插入到单链表B的第j个
1203 0
《C语言及程序设计》实践项目——结构体应用
返回:贺老师课程教学链接 【项目1-学生成绩统计】 每位同学的信息学号、姓名、C、高数、英语成绩。定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[13])、姓名(name)、三门课的成绩(grade)、总分(score)、均分(average))。 (1)从键盘上输入N名学生的信息(N定义为常变量); (2)求出每名同学的总分和均分,并存储在结
1275 0
《C语言及程序设计》实践项目——初练结构体
返回:贺老师课程教学链接 【项目1-复数结构体】 编写一个程序,首先定义一个复数数据类型,即结构类型。然后按照复数的运算规则进行计算,并按照复数表示的格式进行输出,请将程序补充完整。 #include <stdio.h> struct complex { int re; int im; }; int main() { stru
1458 0
《C语言及程序设计》实践项目——递归函数
返回:贺老师课程教学链接 【项目-递归函数】 (1)立方累加和:用递归函数求f(n)=1 3 +2 3 +...+n 3  f(n)=1^3+2^3+...+n^3,要求先将f(n) f(n)数学表达式表示成递归的形式,然后再编程序实现。 (2)写出求1∗3∗...∗n 1*3*...*n的递归式,并编写出递归函数求解。 (3)编程序,用递归函数求出两个数的最大公约数
957 0
《C语言及程序设计》实践项目——程序的多文件组织
返回:贺老师课程教学链接 【项目1-程序的多文件组织】请将下面的程序中的代码分别保存在两个文件中,利用多文件的方式组织。 * main.c(也可以是别的名字) #include <stdio.h> int max(int x,int y); int min(int x,int y); int main( ) { int a,b,c1,c2;
902 0
《C语言及程序设计》实践项目——动态数组
返回:贺老师课程教学链接 【项目1-学生人数没个准】输入学生成绩,输出高于平均成绩的学生序号和成绩。其中学生人数不定,可能10个,可能1000。在录入成绩之前,学生人数由键盘输入。由于要先求出平均成绩,然后才能确定输出哪些学生的信息,所以需要一个数组先将学生信息保存下来。考虑学生人数不定,用动态数组是个更适合的方案下面的程序结构供参考:#include<stdio.h> #i
1130 0
+关注
贺利坚
烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学
文章
问答
文章排行榜
最热
最新
相关电子书
更多
为什么要学函数式编程?
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载