一、PTA实验作业#
1.1计算存款利息
1.1.1实验代码截图
1.1.2数据处理
数据表达:
在"计算存款利息"这道题中,我用到了a b c d e作为变量。我是分别将存款金额money,存期year,年利率rate定义为a b c d,将存款利息定义为e;以上a b c d e都属于**双精度浮点型变量**
数据处理:
本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。
输入格式:输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。
输出格式:在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。
输入样例:1000 3 0.025
输出样例:interest = 76.89
1.1.3 PTA提交列表及说明
- Q1:一开始并不知道是哪里错了
- A1:原来是将浮点型变量用int编辑
- Q2:关于间隔
- A2:在程序运行中,输入多个数据之间必须有间隔。例如:对于scanf()函数对应的的输入:1000 3 0.025对应第一个%d输入第一个数 1000,然后打空格。
- Q3:第一道题就开始各种错误,有点小崩溃
- A3:最后我利用看书,查资料,问大神,终于是给搞出来了。这道题给我的感悟就是区分好整型变量和浮点型变量以及标识符的问题;如果变量输入太麻烦,就用其他参量代换
1.2阶梯电价
1.2.1 实验代码截图
1.2.2 数据处理
数据表达:
在"阶梯电价"这道题中我用到了use,cost变量,由于这两个变量是**单精度浮点型变量**,所以我使用了float
数据处理:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:cost = 应付电费值;若用电量小于0,则输出"InvalidValue!"。
输入样例1:10
输出样例1:cost = 5.30
输入样例2:100
输出样例2:cost = 55.50
1.2.3 PTA提交列表及说明
- Q1为什么会出现sample2小于50错误
- A2讨论的方式不对。例如:n<=50在这道题中可以不用讨论,而是直接假如n>50
- Q2为什么会出现部分错误
- A2经过检查,我发现我没有写头文件#include<stdio.h>,而是只写了#include<math.h>
1.3三天打鱼两天晒网
1.3.1实验代码截图
1.3.2数据处理
数据表达:
在"三天打鱼两天晒网"这道题中我用到了*i*作为变量,他是作为一个参量并且是一个**整型变量**
数据处理:####
输入格式:输入在一行中给出一个不超过1000的正整数**N**。
输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。
输入样例1:103输出样例1:Fishing in day 103
输入样例2:34
输出样例2:Drying in day 34
1.3.3 PTA提交列表及说明
- Q1为什么会编辑错误
- A1将i编辑成了浮点型
- Q2对于&&
- A2&& 的意思是 并且,||是或者
二、阅读代码
*ACM解题简单问题有关分析
l例题:马上要开始新一轮的acm竞赛了,小A和校内的队员们正在各自加紧训练中,之后将会按照队员的学习情况,来划分队伍(每 个队伍三个人)。但是,在训练的同时也不能忘记带动新人参加竞赛,于是,在分队伍之前,小A对队员们提出了一个要求,每个队伍组成必须是:两个老选手带一个新选手,或者一个老选手带两个新选手。而且,小A想,为了提高拿奖的几率,能凑成的队伍越多越好。现在,已知有n个经验丰富的老选手和m个刚打竞赛的新选手,你来告诉小A,最多能凑出多少队伍. 输入输入数据包含多组。输入仅一行,包括两个整数n和m(0<=n,m<=5·10^5),n代表老选手数量,m代表新选手数量.输出输出仅一行,输出满足条件的最多的队伍数。样例输入1 2 6 样例输出1 2 样例输入2 4 5 样例输出2 3####
分析:####
对于第一组样例,有2名老选手,6名新选手。可以这样组成队伍:(l,x,x),(l,x,x),其中l表示老选手,x表示新选手,这 样组成的队伍数
是最多的,且是符合题意的。结果为2对于第一组样例,有4名老选手,5名新选手。可以这样组成队伍:(l,x,x),(l,l,x) (l,x,x)其中l表示老
选手,x表示新选手,这样组成的队伍数是最多的,且是符合题意的。结果为3
代码如下:####
- (1)此题用了while循环体语句,if-else语句
- (2)此题的变量分别是n m,且都是整型变量
- (3)此题首先输入两个整型变量n m,再用while进行循环,接着用if-else进行条件的判断,最后用表达式计算输出结果
优点及可以学习的地方:
- (1)此代码跟我们之前学习的有点不同,这样可以开阔我们的眼界,认识新的编程程序
- (2)此代码出现了新的语句,这让我们可以提前学习后面的知识,为后面的学习打基础
- (3)此代码简介明了,跟我们所学知识有联系,这有利于我们复习
三、学习总结
3.1 学习进度条
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷茫的问题 |
第一周(9.19-9.27) |
8天 |
22行 |
基本的编程题 |
头文件的设定 |
第二周(9.25-10.4) |
6天 |
16行 |
Markdown语法及华氏度与摄氏度的转换 |
Markdown语法的有些语法 |
第三周(10.8-10.11) |
3天 |
133行 |
计算函数以及使用if-else语句使用 |
函数的有关编程 |
3.2 累计代码行和博客字数
3.3 学习感悟
-
- 学习C语言其实是非常有意思的,从做题做到崩溃然后又正确,心情真的可以一下子开心到爆炸。虽然一些东西我们还不是太熟悉,总是
错,但是一旦上手到熟练,真的满满的成就感
-
- 如果碰到有不懂的问题要及时请教,不要一直拖
-
- 要及时地温故而知新,自觉预习后面的知识