C语言程序设计实验安排Word格式文档下载.docx
《C语言程序设计实验安排Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验安排Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
6.源程序注释信息可以包括以下几方面内容:
⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:
班级、学号、姓名。
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
三、实验内容
以下两题,任选其一解答。
你知道淄博到北京的地面距离是多少千米吗,淄博到纽约的地面距离又是多少千米呢?
说不上来了吧。
还是让我们编一个程序来计算一下吧。
1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离。
输入数据样例:
例如,欲求北纬30度上东经10度到东经50度的距离,输入格式应为:
301050
参考测试数据:
输入:
00180输出:
20015.08
30090输出:
8397.72
60045输出:
2453.20
2.地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离。
提示:
球面上两点之间的最短距离,等于过这两点以球心为圆心的圆上,这两点之间劣弧的长度。
(即这两点与球心之间的连线构成的夹角所对球面劣弧的长度)。
建议你自己一步步推导出公式,而不要照搬网上的现成公式。
四、常见问题
疑问1:
这分明是两道数学题啊,能否将数学公式提供给我们呢,我们的主要任务不是编写程序吗?
答:
建立数学模型也是编程序的一部分。
学会分析解决现实中遇到的问题,是我们学习的重要目标。
疑问2:
这个问题好像属于球面几何的范畴,用平面几何可以求解吗?
这个问题的确涉及到球面几何,但是也的确可以利用投影以及平面几何方法来求解。
实验二选择结构程序设计(2学时)
一、实验目的
掌握选择结构程序设计的一般方法及选择结构程序的调试方法。
5.最后提交带有充分注释的源程序文件(扩展名为.c)。
⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
你知道你生日那天是星期几吗,还有你知道你爸爸生日那天是星期几吗?
你可能会说:
可以查万年历啊。
那么,不查万年历你能计算出来吗?
1.编程序实现:
输入一个年份y,求出从公元1年1月1日到y年1月1日,总共有多少天,并求出y年的1月1日是星期几。
2.编程序实现:
输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。
闰年的规律是不是四年一闰?
四年一闰是儒略历(儒略也就是凯撒大帝)的置闰规则。
我们现在使用的是格里高利历,置闰规则是每400年97闰。
公元1年1月1日是星期几呢?
星期一。
疑问3:
据说从儒略历改为格里高利历时,将1582年10月4日的下一天定为格里高利历的10月15日,中间销去了10天,这会不会影响星期几的计算?
这个调整是对儒略历误差的纠正,并不会影响总天数和星期几的计算。
疑问4:
这里计算总天数,好像要用到循环程序吧?
其实根据闰年的置闰规则,不使用循环也可以计算出来总天数。
当然,你想使用循环编写该程序也是可以的。
实验三循环结构程序设计(2学时)
掌握循环结构程序设计的一般方法及循环结构程序的调试方法。
1.海萍夫妇为了彻底告别“蜗居”生活,痛下决心贷款60万元购买了一套三居室。
若贷款月利率为0.5%,还款期限为120个月,还款方式为等额本金还款法(即贷款期限内每期以相等的额度偿还贷款本金,贷款利息随本金逐期递减)。
试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。
2.若还款方式采用等额本息还款法(即贷款期限内每期以相等的额度偿还贷款本息,贷款利息随本金逐期递减)。
等额本息还款法每个月的还款额怎么计算,应该有个公式吧,要不然怎么计算出来每个月应还的利息与本金?
的确有一个计算公式。
当然你可以自己推导出来(这样你会很有成就感!
),要不然就从网上搜索出来。
实验四循环程序综合应用(4学时)
一、实验目的:
掌握循环结构程序设计的一般方法及循环结构程序的调试方法,能够综合运用顺序、选择和循环结构解决一般难度的实际应用问题。
1.编程序实现如下功能:
输入任意一个年份和月份,按以下格式输出该月份的公历日历。
要求由程序计算出来该月份的1日是星期几,并用循环控制打印。
打印样例如下:
2012年日历
==========
9月
----------------------------------------
日一二三四五六
1
2345678
9101112131415
16171819202122
23242526272829
30
-------------------------
2.编程序实现如下功能:
输入任意一个年份,按以下格式输出该年份全年的公历日历。
要求由程序计算出来每个月份的1日是星期几,并用循环控制打印。
如何控制某个月1日的打印位置?
先由程序计算出来该月份的1日是星期几,然后控制在打印“1”之前打印相应个数的空格。
如何控制每周和每月的打印换行?
可以根据当前这一天的打印位置控制每周的打印换行,并根据该月份的天数控制每月的打印换行。
实验五字符串处理综合应用(4学时)
掌握字符串处理的一般方法及字符串处理应用程序的调试方法,能够综合运用选择、循环结构和数组、指针解决一般难度的实际应用问题。
1.编程实现,输入一个整数的小写金额值(即不考虑角和分),转化为大写金额值并输出。
先实现基本功能,如输入1002300,可以输出“壹佰零拾零万贰仟叁佰零拾零元整”。
2.编程实现,输入一个小写金额值,转化为大写金额值输出。
要求实现相对完善的功能,如输入1002300.90,应该输出“壹佰万贰仟叁佰元零玖角整”。
如何才能分离出整数中的每一位数字?
可以利用整数的求余数和除法运算实现数字的分离,同时将分离出的数字存入到一个事先定义好的数组中,每个数组元素只存储一位数字。
若不能确定整数的实际位数,如何控制分离过程?
可以通过循环控制数字的分离过程,每循环一次分离出来当前的最末一位,然后去掉最末一位,直至分离出所有的位。
如何控制给某位数字添加合适的数量单位,如万、仟、佰、拾、元?
可以根据该数字在原小写数值中的位置进行控制,如第0位单位为“元”,第1位单位为“拾”,依此类推。
实验六文件应用程序设计(2学时)
掌握文件应用程序设计的一般方法及其调试方法。
要求将输出结果写入到数据文件中。