首页 > 技术文章 > C语言第一次作业

wyb123 2017-10-14 23:24 原文

一、PTA实验作业

题目1.温度转换

1.实验代码

本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。

  int celsius,fahr;
  
  fahr=150;
  
  celsius=5*(fahr-32)/9;
  
  printf("fahr = 150, celsius = %d\n",celsius);

2 设计思路

  • (1)定义摄氏温度,华氏温度为整型变量
  • (2)华氏温度=150
  • (3)摄氏温度=5*(华氏温度-32)/9
  • (4)输出华氏温度和摄氏温度的值

3.本题调试过程碰到问题及解决办法

  • (1)刚开始打代码时老是忘记在语句后打上“;”导致编译错误,要解决这个问题只能多打代码,熟练了自然不会忘。
  • (2)审题时没注意到空格,导致多次答案格式错误,这说明我不够仔细,下次应仔细审题。

题目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\n", y, x, x);

printf("%d * %d = %d\n", x, x, y);

2 设计思路

  • (1)定义x,y为整型变量
  • (2)x赋值为3
  • (3)y=x*x。
  • (4)输出y=x*x
  • (5)输出x*x=y

3.本题调试过程碰到问题及解决办法

  • (1)刚开始不懂如何输出y=x*x整个式子,后来向别人请教,现在已经学会。
  • (2)题目空格又漏了,多次漏掉题目空格让我有所注意,后面不再犯这个错误了。

题目3:7-6 是不是太胖

据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)

1.实验代码

int H;

scanf("%d", &H);

printf("%.1f",(H-100)0.92);

2 设计思路

  • (1)定义输入身高H为整型变量
  • (2)输入H
  • (3)输出答案为(H-100)0.92

3.本题调试过程碰到问题及解决办法

  • (1)这里犯了一个不应该错的失误,那就是公式错了,“*2“写成了“/2”,导致答案错误,这种错误说明我不够仔细审题,下次应当改正。
  • (2)刚开始做此题时,我对sucanf不熟悉,编了一个较长代码,结果显示运行超时,后来在对课本进一步研究并向舍友请教后,才懂得了scanf的用法完成此题。

7-7 输出各位数字

给定一个三位正整数,输出其百位数字、十位数字及个位数字。

1.实验代码

int a, b, c, d;

scanf("%d",&a);

b=a/100;

c=(a-b*100)/10;

d=a%10;

printf("%d,%d,%d\n",b,c,d);

2.设计思路

  • (1)定义a,b,c,d为整型变量
  • (2)输入a
  • (3)b=a/100即b为a的百位数
  • (4)c=(a-b*100)/10即c为a的十位数
  • (5)d=a%10即d为a的个位数
  • (6)输出b,c,d

3.本题调试过程碰到问题及解决办法

  • (1)这题有2个小失误,一是我将输出的“b,c,d”打成了“a,b,c”,二是我将“d=a%10”打成了“d=a/10”,导致答案多次错误,这可能是我当时做题过急,理所当然的打出了abc,下次做题时我应该冷静,不能过分急躁。
  • (2)在做对前我将a也打进了scanf的分号里,导致编译错误,我认为这是因为我对scanf不够熟悉,应多练习。

二、截图本周题目集的PTA提交列表及最后排名

三、本周学习总结

1.你学会了什么?

本周的作业让我收获良多,我大到学会打基本的代码,掌握了许多C语言语法和编译并运行代码,小到明白了自己对题目的审视度不够,对代码及语法的一些细节也不够了解。我想只有不断的打代码,才能让我客服这些缺点。

2.本周的内容,你还不会什么?

我认为对于某些语法的运用,我还不够熟悉,比如scanf我就经常忘了加&,或是将要输入的内容含在“”内。

3.你碰到什么困难,打算如何解决?

  • 首先,我会先自己在dev上进行t调试,通过dev的提醒不断更正自己的错误
  • 如果dev的不断调试无法让我得到正确答案,那我会试着求助老师和同学,向他们请教
  • 当然,我也会在请教前试着百度一下,不过并非直接找答案,而是找自己的错误是何种原因,比如我在7-8的题目中便有浮点错误提醒,我不理解,便百度了,这才明白自己将输入数据打在“”里面。
  • 所以,解决方法有很多,我认为最好的解决之道就是多打代码,熟能生巧,打的多了自然就信手拈来,错误率也会大大下降。

推荐阅读