高级语言程序设计课程第五次个人作业
班级:https://edu.cnblogs.com/campus/fzu/2026gjyycxsj/
作业:https://edu.cnblogs.com/campus/fzu/2026gjyycxsj/homework/16751
学号:052504106
姓名:刘智锋
1.设计一个getchar和putchar联合使用的程序,使得程序遇到空格符时结束。

其可打印输入字符,若输入空格符则跳出程序。

2.建立一个in.txt和out.txt,分别使用这两个文件进行重定位代替键盘输入和屏幕输出in.txt存放一些字符小写字符,大写字符,数字字符,程序将这些小写字符转换成大写字符,然后全部输出到out.txt。


3.从键盘上输入数据并进行加、减、乘、除四则运算(以“a运算b”的形式输入),判断输入的数据是否可以进行计算,若能计算,则输出计算结果,保留小数点后2位,否则显示“wrong input”。另外,碰到除数为0是能提示“division by zero”。

结果:

4.混合读入字符、数值。
问题描述:
先读入一个字符,再读入一个整数,最后又读入一个字符;然后分别输出它们
输入格式:n个空格和/或<回车>,一个字符,m个空格和/或<回车>,一个整数,k个空格和/或<回车>,一个字符
输出格式:字符整数字符

结果:

5.8.11练习题。
(3)编写一个程序,在遇到 EOF 之前,把输入作为字符流读取。该程序
要报告输入中的大写字母和小写字母的个数。假设大小写字母数值是连续
的。或者使用ctype.h库中合适的分类函数更方便。

结果:

(4)编写一个程序,在遇到EOF之前,把输入作为字符流读取。该程序要
报告平均每个单词的字母数。不要把空白统计为单词的字母。实际上,标点
符号也不应该统计,但是现在暂时不同考虑这么多(如果你比较在意这点,
考虑使用ctype.h系列中的ispunct()函数)。

结果:

(5)修改程序清单8.4的猜数字程序,使用更智能的猜测策略。例如,程序
最初猜50,询问用户是猜大了、猜小了还是猜对了。如果猜小了,那么下一
次猜测的值应是50和100中值,也就是75。如果这次猜大了,那么下一次猜
测的值应是50和75的中值,等等。使用二分查找(binary search)策略,如
果用户没有欺骗程序,那么程序很快就会猜到正确的答案。

结果:

(6)修改程序清单8.8中的get_first()函数,让该函数返回读取的第1个非空
白字符,并在一个简单的程序中测试。

结果:

(7)修改第7章的编程练习8,用字符代替数字标记菜单的选项。用q代替5
作为结束输入的标记。

结果:

6.9.11练习题。
(1)设计一个函数min(x, y),返回两个double类型值的较小值。在一个简单
的驱动程序中测试该函数。

(2)设计一个函数chline(ch, i, j),打印指定的字符j行i列。在一个简单的驱
动程序中测试该函数。

(3)编写一个函数,接受3个参数:一个字符和两个整数。字符参数是待
打印的字符,第1个整数指定一行中打印字符的次数,第2个整数指定打印指
定字符的行数。编写一个调用该函数的程序。

(4)两数的调和平均数这样计算:先得到两数的倒数,然后计算两个倒数
的平均值,最后取计算结果的倒数。编写一个函数,接受两个double类型的
参数,返回这两个参数的调和平均数。

(8)第6章的程序清单6.20中,power()函数返回一个double类型数的正整数
次幂。改进该函数,使其能正确计算负幂。另外,函数要处理0的任何次幂
都为0,任何数的0次幂都为1(函数应报告0的0次幂未定义,因此把该值处
理为1)。要使用一个循环,并在程序中测试该函数。

(9)使用递归函数重写编程练习8。

(11)编写并测试Fibonacci()函数,该函数用循环代替递归计算斐波那契
数。

7.设计一个多源代码文件程序的编译。例如,first.c源代码文件包含主函数和一些头文件(second.h),second.c源代码文件是一些自定义的函数功能实现,second.h文件是一些常量声明和second.c中自定义函数的函数原型声明。



8.写一个程序,在该程序中输出主函数内定义的变量的地址,以及函数中定义的同名变量的地址。

遇到的问题:无
总结与思考:多拓展知识,拥有多种编程思想。

浙公网安备 33010602011771号