C语言实验7.docx
《C语言实验7.docx》由会员分享,可在线阅读,更多相关《C语言实验7.docx(21页珍藏版)》请在冰豆网上搜索。
C语言实验7
国脉信息学院C语言实验报告
2012级软件1201班2013年4月20日
姓名***学号
(一)
P186-1
1、实验题目
输入直到遇到#字符,然后报告读取的空格数目、读取的换行符数目以及读取的所有其他字符数目。
2、设计思路
用ch=getchar()读取字符
用while判断字符输入是否为#
用if判断每次空格、换行符、字符的数目,并计数。
3、最终程序截图
4、错误调试分析
无
5、运行结果截图
P186-2
1、实验题目
输入直到遇到#字符,打印每个输入的字符以及它的十进制ASCII码。
每行打印8个字符/编码对。
2、设计思路
用ch=getchar()读取字符
用while判断字符输入是否为#
设置一个变量进行计数,每次计数值与8进行取模计算值为0时换行。
3、最终程序截图
4、错误调试分析
无
5、运行结果截图
P187-3
1、实验题目
输入直到输入0,输入终止后,程序报告输入的偶数(不包括0)总个数、偶数的平均值,输入的奇数总个数以及奇数的平均值。
2、设计思路
输入数值,并用while循环输入当输入0时跳出
用与2取模计算判断奇偶数,并计数求和。
3、最终程序截图
4、错误调试分析
无
5、运行结果截图
P187-4
1、实验题目
利用ifelse语句编写程序读取输入,知道#。
用一个感叹号代替每个句号,将原有的每个感叹号用两个感叹号代替,最后报告进行了多少次代替。
2、设计思路
输入数值,并用while循环输入当输入#时跳出
用if判断,当ch=’.’时ch=’!
’替换,当ch=’!
’多输出一次ch。
(相当于用两个感叹号代替)
每次替换都进行计数
3、最终程序截图
4、错误调试分析
无
5、运行结果截图
P187-10
1、实验题目
让用户指定税金种类和应征税收入,然后计算税金,使用循环以便用户可以多次输入。
2、设计思路
4.16(讲完continue和switch)
用while循环输入,输入税金种类选项和金额
while((ch=getchar())=='\n')continue;用于忽略输入换行符,因为每次输入字符后都需按回车键进去下一个语句,回车键的换行符会被读取到下一次的ch
用switch标签得到分界值为何值
用?
:
判断大小,计算税金
4.15(未讲continue和switch,用ifelse做)
用while循环输入,输入税金种类选项和金额
用ch1和ch2,一个用于读取选项字符,一个用于读取换行符
只有当两个字符其中有一个为选项字符时,才能得到分界值。
用?
:
判断大小,计算税金
3、最终程序截图
4、错误调试分析
没有忽略输入换行符的语句
5、运行结果截图
(二)
1、实验题目
编写程序判断输入的年份是否为闰年,闰年的条件是:
(1)能被4整除,但不能被100整除
(2)能被4整除,但又能被400整除
2、设计思路
利用&&逻辑关系符和取模运算判断。
能被4整除但不能被100整除和能被4整除但又能被400整除
3、最终程序截图
4、错误调试分析
无
5、运行结果截图
(三)
1、实验题目
编写程序,找出用户输入的一串数中的最小数。
程序需要提示用户一个一个地输入数。
当用户输入0或负数时,程序必须显示出已输入的最小非负数。
2、设计思路
用while循环输入
每输入一个值就进行判断,如果前一个比后一个数大,则最小值更新为后一个数
printf("输入一个数并按回车键:
");
scanf("%f",&num);
这段语句应该放在判断之后,才能求出最小非负数否则求出的为最小数(0或负数)
3、最终程序截图
4、错误调试分析
无
5、运行结果截图
(四)
1、实验题目
输入若干个日期,要求程序能判断出哪个日期最早。
用户可以输入任意个日期,用0/0/0表示输入结束。
运行示例如下:
2、设计思路
将时间转换为天数,求天数最小值。
并将日期年月日替换为得出最小天数的年月日
3、最终程序截图
4、错误调试分析
无
5、运行结果截图
分割线
阅读与提高
(一)
1、实验题目
下表给出一个城市到另一个城市的每日航班信息。
要求编写程序,当用户输入一个时间(用24小时制的时分表示),程序能找出与用户输入最接近的航班,并显示出相应的起飞和抵达时间。
起飞时间
抵达时间
8:
00a.m.
10:
16a.m.
9:
43a.m.
11:
52a.m.
11:
19a.m.
1:
31p.m.
12:
47p.m.
3:
00p.m.
2:
00p.m.
4:
08p.m.
3:
45p.m.
5:
55p.m.
7:
00p.m.
9:
29p.m.
9:
45p.m.
11.58p.m.
2、设计思路
将输入时间转换为分钟数,计算输入分钟数与每个起飞时间分钟数差值绝对值的最小值,并标记每个起飞时间。
用switch看标签值为哪个标记输出对应的时间
3、最终程序截图
4、错误调试分析
无
5、运行结果截图
(二)
1、实验题目
编写程序显示某月的日历。
用户指定这个月的天数和该月的起始日是星期几。
2、设计思路
该月的起始日是星期n就输出n-1个水平制表符
最开始位置开始计数
根据天数输出日
计数值达到7的倍数,输出换行符,换行
3、最终程序截图
4、错误调试分析
无
5、运行结果截图