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\n",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语言中那些主要语句,学过就马上打一遍,刚开始肯定会错,善于总结,过一段时间后再打一遍,这样就应该可以记住了。