C程序设计II实验指导书
信息工程学院计算机系
目 录
C程序设计实验要求2
实验一 指针应用2
2011 求平均成绩2
2012 字符串排序3
2013 字符串比较3
2014 学生成绩统计(选做)4
实验二 结构应用5
2021 学生成绩统计5
2022 图书价格统计6
实验三 链表应用6
2031 列车排队7
2032 猴子选大王(选做)7
实验四 文件应用8
2041 学生成绩管理8
实验五 综合应用9
2051 小白鼠排队9
2052 吃糖果10
2053 日期转换问题10
C程序设计实验要求
课程实验是C程序设计课程的一个重要的实践环节,要求每个同学按以下要求独立完成每次实验,每次上机前必须编写完实验要求的所有题目,并按输出格式写出程序的运行结果,上机时调试程序并验证结果的正确性,若与运行结果不符,则要分析原因,上机时间由课内和课外上机两部分,以下时间为课内上机时间。
实验一 指针应用
目的及要求:
1.理解和掌握指针及指针变量的基本概念和定义。
2.熟练掌握指针的运算(算术运算、关系运算和赋值运算)。
3.熟练掌握几种不同类型的指针(指向变量的指针、指向数组的指针、指向字符串的指针、指向函数的指针、指向指针的指针)。
2011 求平均成绩
Description
某班期末考试后要统计本班某门课程的平均成绩、最高成绩和最低成绩,你的任务是编程序实现这一功能。一个班的人数不超过30人,要求实现求最高成绩,最低成绩和平均成绩的功能用一个函数完成,并用参数返回最高成绩最低成绩和平均成绩。
Input
一组测试数据,第一行为一个整数N,表示本班有N个人(N<=30),接下来的N行中每行一个整数,表示一个人的成绩。
Output
输出一行。该行包含三个数,分别是:最高成绩、最低成绩和平均成绩。成绩之间由空格分隔,其中平均成绩为实数,并精确到小数点后两位。
Sample Input
5
90
83
76
85
62
Sample Output
90 62 79.20
2012 字符串排序
Description
按字典顺序输出某班所有人的名单。
Input一组测试数据,第一行为一个整数N,表示本班有N个人(N<=30),接下来的N行中每行一个人名(人名均由小写字母组成,并且名字长度小于20)。
Output
按字典顺序排列的人员名单。每个人名占一行。
Sample Input
5
zhangsan
liyang
wangxiao
liqing
wuhui
Sample Output
liqing
liyang
wangxiao
wuhui
zhangsan
2013 字符串比较
Description
按字符串比较过程对给定的两个字符串进行比较,若相等则结果为0,若不等则结果为对应不等字符的差。按要求实现对给定字符串的比较。要求程序中用函数实现两个字符串的比较。int stringcmp(char *str1 , char *str2 )
Input
第一行为一个整数N,表示测试数据的组数,接下来的N行中每行包含两个字符串,字符串之间由空格分隔。
Output
输出共N行,每行为对应输入一行的两个字符串的比较结果。
Sample Input
3
Happy Help
Help Help
Help Happy
Sample Output
-4
0
4
2014 学生成绩统计选Description
某班有N(N<=30)个学生,共开设5门课程,分别用三个函数实现如下功能:
⑴求第一门课程的平均分;
⑵找出有2门及2门以上不及格的学生,并输出其学号;
⑶找出平均成绩在90分以上的学生,输出他们的学号。
Input
第一行为一个整数N,表示本班共N个人,接下来的N行中每行包含一个学生的信息,包括学号(长度小于10的字符串)、课程1成绩、课程2成绩、课程3成绩、课程4成绩、课程5成绩。成绩均为整数。
Output/
输出共三行:
第一行为本班第一门课程的平均成绩。(保留小数点后两位)
第二行为有2门及2门以上不及格的学生的学号,各学号之间用一个空格分隔。若不存在则打印no”。
第三行为平均成绩在90分以上的学生的学号, 各学号之间用一个空格分隔。若不存在则打印no”。
Sample Input
3
070001 90 80 85 50 42
070002 93 95 90 88 92
070003 98 92 84 90 91
Sample Output
93.67
070001
070002 070003
实验二 结构应用
目的及要求:
1.理解并掌握结构类型、结构变量的定义和引用方法。
2.掌握结