高级语言程序设计课程第五次个人作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14581
学号:102500405
姓名:刘诺涵
一.设计一个getchar和putchar联合使用的程序,使得程序遇到空格符时结束。
说明:getchar()函数的返回值是int,如果换成char可能会丢失数据
QQ_1763295048135

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

三.从键盘上输入数据并进行加、减、乘、除四则运算(以“a运算b”的形式输入),判断输入的数据是否可以进行计算,若能计算,则输出计算结果,保留小数点后2位,否则显示“wrong input”。另外,碰到除数为0是能提示“division by zero”。形式参考第八章PPT18页。
说明:读取输入,校验格式和运算符是否合法;合法则按运算符计算,除法需判0;结果保留两位小数,不合法则输出对应提示。
image

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

五.编写并运行书本第8章8.11编程练习题目中的第3~7题。
3.编写一个程序,在遇到EOF之前,把输入作为字符流读取。该程序要报告输入中的大写字母和小写字母的个数。假设大小写字母数值是连续的。或者使用ctype.h库中合适的分类函数更方便。
说明:使用ctype.h库中合适的分类函数:isupper、islower函数
QQ_1763299110503

  1. 编写一个程序,在遇到EOF之前,把输入作为字符流读取。该程序要报告平均每个单词的字母数。不要把空白统计为单词的字母。实际上,标点符号也不应该统计,但是现在暂时不同考虑这么多(如果你比较在意这点,考虑使用ctype.h系列中的ispunct()函数)。
    说明:读取字符串,通过是否为字母判断单词边界,统计单词数和总字母数,最后用总字母数除以单词数得平均字母数。(进行查找函数后完成)
    QQ_1763299652451

  2. 修改程序清单8.4的猜数字程序,使用更智能的猜测策略。例如,程序最初猜50,询问用户是猜大了、猜小了还是猜对了。如果猜小了,那么下一次猜测的值应是50和100中值,也就是75。如果这次猜大了,那么下一次猜测的值应是50和75的中值,等等。使用二分查找(binary search)策略,如果用户没有欺骗程序,那么程序很快就会猜到正确的答案。
    说明:运用二分查找,初始范围设为1到100,取中间数猜测,根据反馈调整范围,重复直到猜对或范围无效。
    QQ_1763300212975

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

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

六.编写并运行书本第9章9.11编程练习题目中的第1~4,8,9,11题。
1.设计一个函数min(x,y),返回两个 double类型值的较小值。在一个简单的驱动程序中测试该函数。
QQ_1763300799092

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

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

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

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

  2. 使用递归函数重写编程练习8。
    QQ_1763302174726

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

七.设计一个多源代码文件程序的编译。例如,first.c源代码文件包含主函数和一些头文件(second.h),second.c源代码文件是一些自定义的函数功能实现,second.h文件是一些常量声明和second.c中自定义函数的函数原型声明。
(Dev-c++里的设置暂时不太会)
a. first.c
b.second.h
c.second.c
八.编写一个程序,在该程序中输出主函数内定义的变量的地址,以及函数中定义的同名变量的地址。
QQ_1763302472797

九.总结
本次作业感觉较难,需查找和学习的知识较多,关于不同头文件中包含的函数比较陌生,希望在后续的不断练习中能够熟练掌握。

posted @ 2025-11-16 23:38  刘诺涵  阅读(18)  评论(0)    收藏  举报