C语言--输入输出格式
一、PTA实验作业
题目1:7-3 温度转换
本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
1.实验代码
int fahr, celsius ;
celsius =150;
printf("fahr = 150, celsius = %d", celsius =5*(150-32)/9);
2.设计思路
- 第一步,定义两个整形变量 celcies 表示摄氏温度、 fahr 表示华氏温度;
- 第二步,给定fahr=150;
- 第三步,根据公式计算并输出结果
3.本题调试过程碰到问题及解决办法
-
问题1:在输入计算公式时把 celsius=5*(150-32)/9 输成了 celsius=5(150-32)/9 导致编译错误。
解决方法:使用百度翻译翻译出报错的意思,然后自己检查代码找出了遗漏的地方。
题目2:7-4 将x的平方赋值给y
假设 x 的值是3,计算x的平方并赋值给y,分别以“y = x * x”和“x * x = y”的形式输出x与y的值。
1.实验代码
int x=3 ,y ;
y=x*x;
printf("%d = %d * %d\n",y,x,x);
printf("%d * %d = %d\n",x,x,y);
2.设计思路
- 第一步,定义两个整形变量 x、y,并给定 x=3;
- 第二步,将 x 乘以 x 的值赋给 y ;
- 第三步,按题目所给输出格式输出结果
3.本题调试过程碰到问题及解决办法
本题没有遇到问题。
题目3:7-6 是不是太胖了
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)
1.实验代码
int height ;
float x, StandardWeight;
scanf("%d", &height);
if(100<= height && height <=300)
{
x=(height-100)*0.9;
StandardWeight=2*x;
printf("%.1f",StandardWeight);
}
else
printf("您输入的数字不符合要求\n");
2.设计思路
- 第一步,定义一个整形变量 height 表示身高、两个浮点型变量 x 和 StandardWeight 表示公斤体重和市斤体重;
- 第二步,如果100<=height<=300,根据公式计算出 x 与 StandardWeight 的值并输出结果,否则跳过这一步直接输出“您输入的数字不符合要求”
3.本题调试过程碰到问题及解决办法
-
问题1:忘记了怎么输出保留一位小数的数字
解决方法:去百度 -
问题2:写计算 x 的值语句的时候忘记写 “(” 和 “)”,导致计算结果错误
解决方法:自己调试程序
题目4:7-7 输出各位数字
给定一个三位正整数,输出其百位数字、十位数字及个位数字。
1.实验代码
int a, hundred, ten, bit;
scanf("%d", &a);
bit=a%100%10;
ten=a%100/10;
hundred=a/100;
printf("%d,%d,%d",hundred,ten,bit);
2.设计思路
- 第一步,定义4个整形变量a、hundred、ten、bit,分别代表输入的正整数,正整数的百位数字、十位数字及个位数字;
- 第二步,表达式bit=a%100%10;
- 第三步,表达式ten=a%100/10;
- 第四步,表达式hundred=a/100;
- 第五步,按题目要求输出hundred,ten,bit
3.本题调试过程碰到问题及解决办法
本题没有遇到问题。
二、截图本周题目集的PTA提交列表及最后排名。
PTA提交列表
PTA排名
三、本周学习总结
1.你学会了什么?
了解了C语言的基本结构,会写简单的C语言程序。
2.本周的内容,你还不会什么?
对于数据的类型以及格式控制符还不是很熟悉,还需要多加练习。
3.你碰到什么困难,打算如何解决?
本周的学习内容较为基础,没有遇到太大困难,经常犯的错误是把“\n”写成了“/n”,或者少写一对()之类的。对于不同数据类型在输入和输出的时候用的不同格式控制串还不是十分熟悉,我想我需要多打代码、多加练习以及勤翻课本。