一、PTA实验作业
题目1.温度转换
本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
1.实验代码
int celsius,fahr;
fahr = 150;
celsius = 5*(fahr-32)/9;
printf ("fahr = 150, celsius = %d
",celsius);
2 设计思路
- 1.定义两个整型变量,celsius来存放摄氏温度,fahr来存放华氏温度。
- 2.赋值,F=150
- 3.C=5×(F−32)/9
- 4.输出结果c
3.本题调试过程碰到问题及解决办法
- (1)格式错误:没有按照题目给定要求输出的格式输出,题目要求的空格要全部做到
解决办法:严格按照题目所给的格式输出,最佳的方法就是复制题目给的输出格式,做到一模一样没有任何差异 - (2)编译错误:在发现输出格式错误后进行改正后,误把printf的后括号删掉导致编译错误
解决办法:重新检查每一个单词是否拼写错误,符号语句是否有错误。同时也反思应该每一次修改后提交前都该重新检查一遍然后再DevC++上运行成功后提交。
题目2:7-4 将x的平方赋值给y
假设x的值为3,计算x的平方并赋值给y,分别以“y = x ∗ x”和“x ∗ x = y”的形式输出x和y的值。
1.实验代码
int x,y;
x=3;
y=x * x;
printf("%d = %d * %d
",y,x,x);
printf("%d * %d = %d
",x,x,y);
2 设计思路
- 1.定义两个整数型x,y
- 2.赋值:x=3
- 3.公式:y=x*x
- 4.按题目要求输出式子和结果
3.本题调试过程碰到问题及解决办法
- 编译错误:在打代码的过程中不小心按到shift键,将某英文符号 ,变成中文符号, 却很难发现导致多次提交后才发现这个常见错误
解决办法:一开始还不明白devc++显示的英文提示错误的意思,于是上网百度后查到编译有错后认真重新打一遍那一行代码后对比发现这个常见并且容易犯的错误
**题目3:7-6 是不是太胖了 **
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?
1.实验代码
int H; /*代表身高*/
double W; /*代表体重*/
100<H<=300;
scanf("%d",&H);
W=(H-100)*0.9*2;
printf("%.1f",W);
2 设计思路
- 1.定义整型变量H来存放身高H,定义双精度浮点型变量W来存放体重W
- 2.限制H的取值范围
- 3.输入H
- 4.W的计算公式 W=(H-100)0.92
- 5.输出W
3.本题调试过程碰到问题及解决办法
- 答案错误:习惯性定义W为整型变量,导致答案出错
- 解决办法:重新审题后意识到W的类型应该为double型,并且认真确认输出结果的要求
题目4:7-7 输出各位数字
给定一个三位正整数,输出其百位数字、十位数字及个位数字。
1.实验代码
int a,b,c,N; /*N代表输入的三位数,a代表N的百位,b代表十位,c代表个位*/
scanf("%d",&N);
a=N/100;
b=(N-100*a)/10;
c=(N-100*a-10*b);
printf("%d,%d,%d",a,b,c);
2 设计思路
- 1.定义四个整型变量a,b,c,N, N用来存放输入的三位数,a用来存放N的百位,b用来存放十位,c用来存放个位,
- 2.利用c语言中整数除以整数必等于整数的原理,写出abc的计算公式: a=N/100,b=(N-100a)/10,c=(N-100a-10*b)
- 3.输出所求的a,b,c
3.本题调试过程碰到问题及解决办法
- 1.无设计思路:一开始拿到这个题目的时候无从下手,没有设计思路
解决办法:查询了一下相关的题目资料后注意到了C语言中整数除以整数结果必定为整数的一条规定,便有了设计思路,先从百位a入手,然后十位b,个位c - 2.答案错误:题目给出输出格式要求百位十位个位要用逗号隔开,而自己没有隔开
解决办法:重新审题后发现逗号细节,重新修改后在devc++用运行,严格对照题目给的预计答案,确认无误后复制黏贴提交
二、截图本周题目集的PTA提交列表及最后排名。
三、本周学习总结
1.你学会了什么?
- 我学会了运用DevC++打代码和对代码进行调试,我学会了编程大致的框架和操作套路。
如include int main阿啥的,不管这段编程你会不会先写这些然后给自己增添信心接下来就会有源源不断的思路了,就好比语文中的很久很久以前 - 从本周pta的八道题中,我认识到了编程的思维和严谨性。从一开始的题目的无从下手到后面的相对熟练,我看到了自己的进步,从一开始只是一堆看似枯燥无趣代码到把它真正放到DevC++中运行成功后体会到的成就感的喜悦不是一般的娱乐活动可以给予我的。
- 同时在对代码进行一次又一次的调试中,我学会了敲代码所需要的那份耐心。除了耐心以外,也需要有一定的意志力并且有不怕困难的心境。
- 最后最后很重要的一点是:细心!细心!细心!!
- 补充说明:从这次的博客作业中我学会了更加熟练的使用markdown,同时我也意识到平时总结错误和记录错误的重要性,因为在完成这篇博客时花了很长的时间回忆了当初被折腾老半天后明白的错误,记笔记记笔记记笔记!!!
2.本周的内容,你还不会什么?
- 代码中数学函数的公式用的还不够熟练
- 变量名称不够形象
- 算法写法还不够标准
3.你碰到什么困难,打算如何解决?
- 对DevC++的某些提示错误还不能完全理解它的意思
反思:积累经验,从错误中总结,有必要的可以百度或者询问助教后截图记笔记。 - 编程还是不够熟练, 对代码的调试还不够熟练,C语言的注意点的认识还不够多
反思:坚持每天打代码1.5h~2h,努力做到熟悉各种题型各种错误,及时记笔记,记笔记,记笔记!!! - 算法写的不够标准,代码不够整洁明了
反思:每次编程题前都要自觉先写算法,尽量做到熟悉算法,并且在保证代码正确运行的前提下能对自己的代码更高的要求:做到整洁条理清晰。