c 语言开发程序 课内实验指导书,c语言实验指导书Ⅱ.doc

253b171540df25e1b84436cbe50dfc72.gifc语言实验指导书Ⅱ.doc

C程序设计实验指导书C程序设计II实验指导书信息工程学院计算机系目 录C程序设计实验要求2实验一 指针应用22011 求平均成绩22012 字符串排序32013 字符串比较32014 学生成绩统计(选作)4实验二 结构应用52021 学生成绩统计52022 图书价格统计6实验三 链表应用62031 列车排队72032 猴子选大王(选作)7实验四 文件应用82041 学生成绩管理8实验五 综合应用92051 小白鼠排队92052 吃糖果102053 日期转换问题10C程序设计实验要求课程实验是C程序设计课程的一个重要的实践环节,要求每个同学按以下要求独立完成每次实验,每次上机前必须编写完实验要求的所有题目,并按输出格式写出程序的运行结果,上机时调试程序并验证结果的正确性,若与运行结果不符,则要分析原因,上机时间由课内和课外上机两部分,以下时间为课内上机时间。实验一 指针应用目的及要求1理解和掌握指针及指针变量的基本概念和定义。2熟练掌握指针的运算(算术运算、关系运算和赋值运算)。 3熟练掌握几种不同类型的指针(指向变量的指针、指向数组的指针、指向字符串的指针、指向函数的指针、指向指针的指针)。2011 求平均成绩Description某班期末考试后要统计本班某门课程的平均成绩、最高成绩和最低成绩,你的任务是编程序实现这一功能。一个班的人数不超过30人,要求实现求最高成绩,最低成绩和平均成绩的功能用一个函数完成,并用参数返回最高成绩,最低成绩和平均成绩。一组测试数据,第一行为一个整数N,表示本班有N个人(N30),接下来的N行中每行一个整数,表示一个人的成绩。Output输出一行。该行包含三个数,分别是最高成绩、最低成绩和平均成绩。成绩之间由空格分隔,其中平均成绩为实数,并精确到小数点后两位。Sample 59083768562Sample Output90 62 79.202012 字符串排序Description按字典顺序输出某班所有人的名单。一组测试数据,第一行为一个整数N,表示本班有N个人(N30),接下来的N行中每行一个人名人名均由小写字母组成,并且名字长度小于20。Output按字典顺序排列的人员名单。每个人名占一行。Sample 5zhangsanliyangwangxiaoliqingwuhuiSample Outputliqingliyangwangxiaowuhuizhangsan2013 字符串比较Description按字符串比较过程对给定的两个字符串进行比较,若相等则结果为0,若不等则结果为对应不等字符的差。按要求实现对给定字符串的比较。要求程序中用函数实现两个字符串的比较。int stringcmpchar *str1 , char *str2 第一行为一个整数N,表示测试数据的组数,接下来的N行中每行包含两个字符串,字符串之间由空格分隔。Output输出共N行,每行为对应输入一行的两个字符串的比较结果。Sample 3Happy HelpHelp HelpHelp HappySample Output-4042014 学生成绩统计(选作)Description某班有N(N30)个学生,共开设5门课程,分别用三个函数实现如下功能求第一门课程的平均分;找出有2门及2门以上不及格的学生,并输出其学号;找出平均成绩在90分以上的学生,输出他们的学号。第一行为一个整数N,表示本班共N个人,接下来的N行中每行包含一个学生的信息,包括学号(长度小于10的字符串)、课程1成绩、课程2成绩、课程3成绩、课程4成绩、课程5成绩。成绩均为整数。Output输出共三行第一行为本班第一门课程的平均成绩。保留小数点后两位第二行为有2门及2门以上不及格的学生的学号,各学号之间用一个空格分隔。若不存在,则打印no。第三行为平均成绩在90分以上的学生的学号, 各学号之间用一个空格分隔。若不存在,则打印no。Sample 3070001 90 80 85 50 42070002 93 95 90 88 92070003 98 92 84 90 91Sample Output93.67070001070002 070003实验二 结构应用目的及要求1理解并掌握结构类型、结构变量的定义和引用方法。2掌握结构体在程序设计中的使用方法。 2021 学生成绩统计Description用结构数组实现学生成绩统计各功能。某班有N(N30)个学生,共开设5门课程,分别用三个函数实现如下功能求第一门课程的平均分;找出有2门及2门以上不及格的学生,并输出其学号;找出平均成绩在90分以上的学生,输出他们的学号。第一行为一个整数N,表示本班共N个人,接下来的N行中每行包含一个学生的信息,包括学号(长度小于10的字符串)、课程1成绩、课程2成绩、课程3成绩、课程4成绩、课程5成绩。成绩均为整数。Output输出共三行第一行为本班第一门课程的平均成绩。保留小数点后两位第二行为有2门及2门以上不及格的学生的学号,各学号之间用一个空格分隔。若不存在,则打印no。第三行为平均成绩在90分以上的学生的学号, 各学号之间用一个空格分隔。若不存在,则打印no。Sample 3070001 90 80 85 50 42070002 93 95 90 88 92070003 98 92 84 90 91Sample Output93.67070001070002 0700032022 图书价格统计Description用结构数组保存书的信息。现有N(N50)本图书,每本图书包括书名(长度小于30的字符串)、出版社(长度小于15的字符串)、数量(整数)、单价(浮点数)信息,读入书的信息并按单价由少到多的顺序输出各书的所有信息,然后输出购买这些书的总费用。第一行为一个整数N,表示图书数量,接下来的N行中每行包含一本书的信息数据,各数据之间由空格分隔。Output输出前N行,为按单价排序的所有书的信息,第N1行为购买这些书的总费用保留到小数点后两位。Sample 3C程序设计 清华大学出版社 50 25.5数据结构 机械工业出版社 30 31.55计算机导论 高教出版社 60 18.3Sample Output计算机导论 高教出版社 60 18.3C程序设计 清华大学出版社 50 25.5数据结构 机械工业出版社 30 31.55实验三 链表应用目的及要求1掌握结构类型指针的定义和引用方法。2掌握链表的处理方法。 2031 列车排队Description有若干节列车车厢,每节车厢都有固定的编号,车厢逐个进入站台编组成一列列车(车厢进入站台顺序与车厢编号无关),请你用链表模拟组成的列车,并分别完成以下功能。1)在主函数中读入数据并创建列车链表。2 用函数实现,按输入顺序打印出所有的车厢号(各号之间有一位空格分隔)。3)用函数实现,统计出组成列车中共有多少节车厢。4 用函数实现,按输入顺序的逆序打印出所有车厢号。输入为一行整数,表示车厢编号(编号为大于0的整数),最后一个整数为0,表示输入数据结束,并且0不是车厢编号不处理。Output输出为2行整数完成选作为3行,第一行为按输入顺序输出的各节车厢的编号,第二行为列车长度,第三行为按输入顺序的逆序输出的各节车厢的编号。Sample 5 3 8 1 7 10 15 2 0Sample Output5 3 8 1 7 10 15 282 15 10 7 1 8 3 52032 猴子选大王(选作)Description有N只猴子,从1N进行编号。它们按照编号的顺时针方向排成一个圆圈,然后从第一只猴子开始报数。第一只猴子报的第一个数字为1,以后每只猴子报的数字都是它们前面猴子所报数字加1。如果一个猴子报的数字是M,则该猴子出列,下一个猴子重新从1开始报数,直到所有猴子都出列为止,最后一个出列的猴子胜出。你的任务是对于给定猴子数量和报数上限值M,确定出能够被选作大王的猴子的编号。第一行为一个整数N,表示测试数据的组数,接下来的N行中每行包含两个整数,第一个数是猴子的个数,第二个数是报数上限值M(M1),两数之间由空格分隔。Output输出共N行,每行为对应输入行获胜猴子的编号。Sample 28 55 8Sample Output31实验四 文件应用目的及要求1理解文件的概念,掌握文件类型指针的定义方法。2掌握文件的打开、读写、定位及关闭的方法。3掌握利用文件进行数据处理的方法。 2041 学生成绩管理Description学生成绩管理,每个学生的数据包括学号、姓名、3门课的成绩,数据保存在文件中(内存中只保留一个学生的信息,处理后写回文件)。分别用三个函数实现如下各操作,主函数中列出选择菜单,根据选择执行相应功能。1)输入学生成绩;2)给出学号或姓名,找到该学生的信息。3 给出学号或姓名,修改某学生的信息。4)找出某门课程不及格的学生,并输出其学号和不及格课程的成绩;若不存在,则打印no。5)给出所有学生的各科平均成绩和总平均成绩。6)给出学号,修改某学生的信息。(选作)OutputSample Sample Output实验五 综合应用目的及要求1学习对复杂问题的分析,掌握程序设计方法与技巧。2掌握综合应用问题的处理方法。2051 小白鼠排队DescriptionN只小白鼠1 N 100,每只鼠头上戴着一顶有颜色的帽子并且有一个编号。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们的编号和头上帽子的颜色。编号是长度为5的字符串,如”W-101”,”T-002”等,帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。输入数据在文本文件IN.TXT中,数据格式是第一行为一个整数N,表示小白鼠的数目。接下来的N行,每行是一只白鼠的信息。第一个为编号;第二个为不大于100的正整数,表示白鼠的重量;第三个为表示白鼠的帽子颜色的字符串,其长度不超过10个字符。注意白鼠的重量各不相同。 Output按照白鼠重量的从大到小顺序输出白鼠的编号和帽子颜色到文本文件OUT.TXT中。Sample IN.TXT文件3T-001 30 redW-001 50 blueT-101 40 greenSample OutputOUT.TXT文件W-001 blueT-101 greenT-001 red2052 吃糖果Description名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 N 0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如如果N1,则名名第1天就吃掉它,共有1种方案;如果N2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有213种方案;如果N4,则名名可以第1天吃1块,剩3块,也可以第1天吃2块,剩2块,共有325种方案。现在给定N,请你写程序求出名名吃巧克力的方案数目。输入只有1行,即整数N。Output输出只有1行,即名名吃巧克力的方案数。Sample 4Sample Output52053 日期转换问题Description在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。 给定从公元2000年1月1日开始逝去的天数(2000.1.1. 是星期六),你的任务是给出这一天是哪年哪月哪日星期几。输入包含若干行,每行包含一个正整数,表示从2000年1月1日开始逝去的天数。输入最后一行是1, 不必处理。可以假设结果的年份不会超过9999。Output对每个测试样例,输出一行,该行包含对应的日期和星期几。格式为“YYYY-MM-DD DayOfWeek”, 其中 “DayOfWeek” 必须是下面中的一个 Sunday, Monday, Tuesday, Wednesday, Thursday, Friday 或 Saturday“。Sample 1730 1740 1750 1751 -1Sample Output2004-09-26 Sunday 2004-10-06 Wednesday 2004-10-16 Saturday 2004-10-17 Sunday11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值