C语言I博客作业07

这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17321
这个作业要求在哪里 https://bbs.csdn.net/topics/603526787
这个作业的目标 学习C语言
学号 20218534

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

1.1 完成PTA作业,并给出编程题完成截图,截图上有自己的学号及姓名标识(不是截图形式的计0分)(每题5分)

7-1 韩信点兵 (10 分)

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:

  • 按从1至5报数,记下最末一个士兵报的数为1;
  • 再按从1至6报数,记下最末一个士兵报的数为5;
  • 再按从1至7报数,记下最末一个士兵报的数为4;
  • 最后按从1至11报数,最末一个士兵报的数为10;

请编写程序计算韩信至少有多少兵。

输入格式:

本题无输入

输出格式:

输出韩信至少拥有的士兵人数。
C语言I博客作业07

数据表达:for循环定义i。
数据处理:用for遍历将符合的值输出。

C语言I博客作业07
编程总结:全部正确:非常简单的一个数学题。

7-2 找出一批学生的最高分 (15 分)

本题要求编写程序,找出最高分。

输入格式:

输入在一行中给出一系列非负整数,其间以空格分隔。当读到负整数时,表示输入结束,该数字不要处理。

输出格式:

在一行中输出最高分。

输入样例:

在这里给出一组输入。例如:

67 88 73 54 0 95 60  -1
结尾无空行

输出样例:

在这里给出相应的输出。例如:

95
结尾无空行

C语言I博客作业07

数据表达:定义整型变量markes,max,markes用来输入数据,max用来储存最大值。
数据处理:用while循环实现读到负数结束,if语句判断最大值。

C语言I博客作业07

编程总结:按照题目的要求一步一步写,很简单。

7-3 购物(二) (25 分)

用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。

输入格式:

若干个以空格间隔的实数(每个数不超过100000),以-1作为输入结束的标志。

输出格式:

一个实数,表示商品的平均价格,精确到小数点后两位。

输入样例:

890.78 2769.8 12300 3532.2 -1
结尾无空行

输出样例:

4873.19
结尾无空行

C语言I博客作业07

数据表达:定义了double类型变量price,average,sum;int类型变量amount用来统计输入的数据个数。
数据处理:先用if判断输入的第一个数据是否为-1,否就进入while循环,输入price直到输入的price为-1结束,sum用来将输入的所有的price相加,将平均值average用sum/amount计算出来,最后输出。

C语言I博客作业07

编程总结:部分正确:第一次没考虑没有数据输入的情况,题目没给出就没想到。

7-4 循环-古角猜想 (20 分)

日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。

输入格式:

输入一个自然数n

输出格式:

输出每次运算步骤,直到结果为1.

输入样例1:

5
结尾无空行

输出样例1:

5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
结尾无空行

输入样例2:

6
结尾无空行

输出样例2:

6/2=3
3*3+1=10
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
结尾无空行

C语言I博客作业07

数据表达:定义了int类型变量N和ret,将输入的N初始化给ret。
数据处理:使用一个while循环当最终结果为1时结束,再嵌套一个if语句进行判断是奇数还是偶数,分别执行题目给出的不同的表达式。

C语言I博客作业07

编程总结:看清题目,将代码按题目所给的条件一步步写出来,其实也不难

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

1 学习进度条(5分)
周/日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
11/15-11/21 45小时 1314 时间与空间复杂度 线性表-顺序表
2 累积代码行和博客字数(5分)

C语言I博客作业07

3 学习内容总结和感悟(5分)

总结:
算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称为空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间。
大O渐进表示法:
1、用常数1取代运行时间中的所有加法常数。
2、在修改后的运行次数函数中,只保留最高阶项。
3、如果最高阶项存在且不是1,则去除与这个项目相乘
的常数。得到的结果就是大O阶。
感悟:数据结构没点C语言基础真滴看不懂,所以还是好好学习天天向上吧。

上一篇:Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable


下一篇:PHP实现CURL发送请求