第一次作业 三班20
一、PTA作业总结
(一)题目7-4 是不是太胖了
1、实验代码
#include <stdio.h> int main() { int a; float b; scanf("%d", &a); b=(a-100)*0.9*2; printf("%.1f",b); return 0; }
2、设计思路
(1)文字描述
第一步:首先输入框架;
第二步:定义两个变量:a表示身高,正整数定义为int类型,b表示对应该身高的标准体重,输出要求为保留一位小数,所以定义为float类型;
第三步:调用scanf方法输入a的值,输入为整数“%d”,取a的地址为a赋值&a;
第四步:计算公式b=(a-100)*0.9*2,得到b的对应值;
第五步:要求输出结果保留一位小数,所以“%.1f”,打印计算结果b的值;
(2)流程图
3、本题调试过程碰到的问题及解决方法
定义a、b时忘记输出要求都定义为int类型,怎么提交都不对,仔细检查后改正;
printf漏写分号,在程序运行前会报错,显示红色的上一行就是漏写的错误地方,并下次先打好框架后填写内容;
输出时误写“%f”,输出小数点后六位零,检查题目后加上条件“%.1f”改正。
(二)7-1 阶梯电价
1、实验代码
#include<stdio.h> int main(){ float use,cost; scanf("%f",&use); if(use<=0){ printf("Invalid Value!"); } else if(use>0&&use<=50){ cost=0.53*use; printf("cost = %.2f",cost); } else if(use>50){ cost=0.53*50+(0.53+0.05)*(use-50); printf("cost = %.2f",cost); } return 0; }
2、设计思路
(1)文字描述
第一步:输入框架;
第二步:定义两个float型变量,use表示月用电量,cost表示应付电费值,都有小数定义为float型;
第三步:输入use值;
第四步:判断use大小:小于等于0,结束判断,输出“Invalid Value!”,;大于0且小于等于50进入计算公式“cost=0.53*use”得到cost的值,输出cost结束;
use大于50“cost=0.53*50+(0.53+0.05)*(use-50)”,计算得到cost并输出结束程序。
(2)流程图
3、本题调试过程碰到的问题及解决方法
use和cost类型都是float,use输入格式为%f;
else-if循环中,if后都有条件,else后无条件;
三种情况,分别计算并打印printf()输出结果,不能使用同一个printf;
cost = %f,都是有空格。
二、总结和学习进度条
1、(1)从学习C语言开始,我们先学习了基本的打印语句printf(),定义三种变量类型数据int、float、double,分别应用于不同的数据类型和输出结果,
又学习了格式化输入函数scanf(),取被输入变量的地址为变量赋值,和输入多个数据,然后学习了计算分段函数的三种方法:if-else语句,嵌
套if-else语句和else-if语句,三种逻辑运算符:与&&、或||、非!,定义字符型数据char,switch-case语句,还有最重要的是for循环结构。
(2)在学习过程中紧跟老师的脚步,课下认真完成作业就能对所学知识基本掌握,但是总有很多小问题,比如定义类型不对,忘写分号,数和括号中间
用*乘号连接等小细节不加注意就会程序错误,for循环相关知识还没掌握牢,打开运行框太多软件崩溃等情况都表明新手还没熟练。
(3)多写程序多练习,熟能生巧;在写语句时先把框架打好,先写分号避免忘记;多做for循环相关题型;在写程序前先画流程图以便更加清晰的理解
程序。