高级语言程序设计课程第五次个人作业
这个作业属于https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14581
学号:102500430
姓名:黄华烨
设计一个getchar和putchar联合使用的程序,使得程序遇到空格符时结束。

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


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

混合读入字符、数值,形式参考第八章PPT19页。
问题描述:
先读入一个字符,再读入一个整数,最后又读入一个字符;然后分别输出它们
输入格式:n个空格和/或<回车>,一个字符,m个空格和/或<回车>,一个整数,k个空格和/或<回车>,一个字符
输出格式:字符整数字符
问题:测试时如果输入"!"并按下回车会直接输出"?",并导致后面输入的数据未读取,原因未知,询问同学发现他们的可以正常输出"!",猜测是我自己的编译器问题

编写并运行书本第8章8.11编程练习题目中的第3~7题。
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作为结束输入的标记。


编写并运行书本第9章9.11编程练习题目中的第1~4,8,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()函数,该函数用循环代替递归计算斐波那契数。

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



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

总结&思考
本次作业要求掌握自定义函数的用法,将一长段代码模块化,增加了代码的可读性,需重点注意自定义函数的声明,引用等细节
浙公网安备 33010602011771号