C语言第一次博客作业——输入输出格式

C语言第一次博客作业——输入输出格式

一、PTA实验作业

题目1.温度转换

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

1.实验代码

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

2 设计思路

  • 第一步:定义变量fahr和celsius。
  • 第二步:把150赋值给fahr。
  • 第三步:计算celsius=5*(fahr-32)/9。
  • 第四步:根据题目要求的格式输出。

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

  • (1)定义变量时定义的是fahr,到了下面运算时打成了fath,导致运行时显示变量fath未定义,程序编译错误。解决方法:将打错的fath改为fahr即可。
  • (2)fahr的值赋值成100,导致结果错误。解决方法:改为150即可。
  • (3)没有注意到输出格式,直接输出了celsius的值,导致格式错误。解决方法:将题目要求的输出格式复制下来即可。

题目2.将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.设计思路

  • 第一步:定义两个变量x,y。
  • 第二步:计算x的平方并赋值给y。
  • 第三步:先输出第一个式子并换行。
  • 第四步:再输出第二个式子。

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

  • (1)输出结果时两个式子挤在一行,导致结果错误。解决方法:在第一个输出结尾换行即可。

题目3.是不是太胖了

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

1.实验代码

 int H;
      scanf ("%d",&H);
      float w = (H-100)*0.9*2;
      printf("%.1f",w);

2.设计思路

  • 第一步:定义变量H。
  • 第二步:输入H的值。
  • 第三步:定义w为单精度浮点数(题目要求输出结果为一位小数)。
  • 第四步:计算w=(H-100)* 0.9 *2。
  • 第五步:调整w为一位小数再输出。

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

  • (1)输入时忘记加上“&”。解决方法:H前加上“&”。
  • (2)定义w时仍用int,导致输出结果为整数,不符合题目要求。解决方法:用float或double替换int。
  • (3)输出时要么是整数,要么有多位小数。解决方法:引号中不是%d的,也不是%f,而是用%.1f表示保留一位小数,需要几位小数更改数字即可。

题目4.输出各位数字

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

1.实验代码

 int a;
  scanf ("%d",&a);
  int b,c,d;
  b = a /100;
  c = a /10%10;
  d = a %10;
  printf("%d,%d,%d",b,c,d);

2.设计思路

  • 第一步:定义变量a作为输入的三位数。
  • 第二步:输入a。
  • 第三步:定义b,c,d分别作为三位数的为百位,十位和个位。
  • 第四步:计算b = a /100,c = a /10%10,d = a %10。
  • 第五步:按要求格式输出b,c,d。

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

  • (1)计算十位数b时计算表达式写错成c = a/100%10,导致结果错误。解决方法:改正成c = a/10%10即可。
  • (2)输出时“,”一直打错。解决方法:输入法改为英文模式再输入即可。

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

  • PTA提交列表

  • PTA排名

三、本周学习总结

1.你学会了什么?

  • c语言编程的基本结构:
#include<stdio.h>
int main()
{
    return 0;
}
  • c语言中的三种结构:顺序结构,分支结构,循环结构。
  • c语言中几种重要语句:
    (1)输入输出语句;scanf("",&输入参数1,&输入参数2……,&输入参数n);和printf("",输出参数1,输出参数2,……,输出参数n);。scanf双引号中为输入的内容,一般为数据,格式为%d(整形)或%lf(实型),若带有其他符号,要严格按照引号中内容输入,如:含有“/”,则要对应输入“/”,否则程序将无法正确识别输入数据。printf双引号中为输出内容,填写的内容一般会原样输出,除了要求输出程序中数据时要用%d(整形)或%f(实型,若需要保留n位小数时用%.nf)。
    (2)分支结构中的if-else语句和switch-case语句。
if(判断条件){
    表达式;
}else{
    表达式;
}
switch(变量){
case1:表达式;break;
case2:表达式;break;
……
default:表达式;break;
}

(3)循环结构中while语句,do-while语句,for语句。

while(){
    循环体
}
do{
    循环体
} while ();

以上两种句型,均为当while中条件满足时进入循环。

for (i=1;i<n;i++;){
    循环体
}

小括号中第一个条件为循环的初值,第二个条件为判断条件,满足继续循环,第三个条件为初值加减。

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

有关数据类型,数据运算,不同数据类型转换规则还是不太清楚。

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

有些已经学过的内容还是会一时想不起来,或者记错。将学过的东西实践一下加深印象,再总结归纳,隔一段时间再回想复习一下。就比如C语言中那些主要语句,学过就马上打一遍,刚开始肯定会错,善于总结,过一段时间后再打一遍,这样就应该可以记住了。

原文地址:https://www.cnblogs.com/doimpossible/p/7617065.html