C语言I博客作业06

这个作业属于哪个课程https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321
这个作业要求在哪里https://bbs.csdn.net/topics/603427602
这个作业的目标用for循环写代码
学号20218534

一、本周作业(总分40分)

1.1 完成PTA作业,并给出编程题完成截图,截图上有自己的学号及姓名标识(不是截图形式的计0分)(每题5分)
7-1 求交错序列前N项和 (15 分)

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。

输入格式:
输入在一行中给出一个正整数N。

输出格式:
在一行中输出部分和的值,结果保留三位小数。

输入样例:

5
结尾无空行

输出样例:

0.917
结尾无空行

在这里插入图片描述

数据表达:定义int类型变量N,double类型变量ret和sum,并将sum初始化为0,。
数据处理:for循环将前N项和累加,for循环里头再用if-else来实现正负的间隔,由题可知,分子为偶数时取负号,分子为奇数时取正号。

在这里插入图片描述
编程总结:没毛病

7-2 求平方根序列前N项和 (15 分)

本题要求编写程序,计算平方根序列 √1+√ 2 +√ 3 +⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。

输入格式:
输入在一行中给出一个正整数N。

输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

10
结尾无空行

输出样例:

sum = 22.47
结尾无空行

在这里插入图片描述

数据表达:定义int类型变量n,double类型变量sum,sum初始化为0,防止累加出错。
数据处理:用for循环嵌套输出12的平方根的累加。

在这里插入图片描述
编程总结:没得问题

7-3 换硬币 (20 分)

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

输入格式:
输入在一行中给出待换的零钱数额x∈(8,100)。

输出格式:
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。

输入样例:

13
结尾无空行

输出样例:

fen5:2, fen2:1, fen1:1, total:4
fen5:1, fen2:3, fen1:2, total:6
fen5:1, fen2:2, fen1:4, total:7
fen5:1, fen2:1, fen1:6, total:8
count = 4
结尾无空行

在这里插入图片描述

数据表达:定义了整型变量x和sum,并将sum初始化为0,防止sum变量被编译器随便取值。
数据处理:用for循环嵌套,最里层再用if判断题目所给的条件,并将结果输出。

在这里插入图片描述
编程总结:部分正确:将5分、2分和1分硬币的数量依次按从小到大的顺序输出各种换法了,看题速度太快,没仔细审题。

7-4 求幂之和 (15 分)

本题要求编写程序,计算sum=2¹ +2² +2³ +⋯+2^n 。可以调用pow函数求幂。

输入格式:
输入在一行中给出正整数n(≤10)。

输出格式:
按照格式“result = 计算结果”输出。

输入样例:

5
结尾无空行

输出样例:

result = 62
结尾无空行

在这里插入图片描述

数据表达:定义整型变量n和变量sum,并将sum初始化为0,此处非常重要。
数据处理:用到了pow函数求幂,一个for循环将21次幂到2的n次幂累加,最后输出。

在这里插入图片描述
编程总结:没毛病

7-5 打印九九口诀表 (15 分)

下面是一个完整的下三角九九口诀表:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  

本题要求对任意给定的一位正整数N,输出从1*1N*N的部分口诀表。

输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。

输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

输入样例:

4
结尾无空行

输出样例:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
结尾无空行

在这里插入图片描述

数据表达:定义三个变量a,b,n;n用来作为乘法表结束的行数。
数据处理:用for循环嵌套,内层for循环控制b依次增加到a结束,外层for循环控制a依次增加到n结束。

在这里插入图片描述
编程总结:部分正确:先做了这道题,看了一眼标题就开始写,我还以为是输出整个九九乘法表,没有输入变量N.

1.2请给出本章学习总结(15分)

1 学习进度条(5分)

周/日期这周所花的时间代码行学到的知识点简介目前比较迷惑的问题
11/8-11/1442小时886递归为什么跳槽的涨薪速度比晋升快?

2 累积代码行和博客字数(5分)
在这里插入图片描述

3 学习内容总结和感悟(5分)
内容总结:
⑴递归分为直接递归和间接递归:
•直接递归:函数在执行过程中调用本身。
•间接递归:函数在执行过程中调用其它函数再经过这些函数调用本身。
⑵递归四大要素:
1.递归要有出口,也就是终止点,否则会一直循环,知道资源耗尽
2.问题不断缩小
3.问题通过再次递归可得到解决
4.子问题的组的解应该问题的最终解
感悟:
编写程序要摸索最有效的算法来实现,提高自己的思维能力,以后在工作中也能更加浑水摸鱼,啊呸,如鱼得水。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值