zoukankan      html  css  js  c++  java
  • C语言第二次博客作业分支结构

    一、PTA实验作业

    7-1 计算分段函数[2]

    本题目要求计算下列分段函数f(x)的值:

    1.实验代码

    	double x,result;
    	scanf("%lf",&x);
    	if(x>=0){
    		result=sqrt(x);
    	}
    	else{
    		result=pow(x+1,2)+2*x+1/x;
    	}
    	printf("f(%.2f) = %.2f",x,result);
    
    

    2 设计思路

    1.定义双精度浮点型变量x,result
    2.输出一个x
    3.如果x>=0,则result=x0.5,否则result=(x+1)2+2*x+1/x
    4.输出result的值

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

    1.看见题目中x是以两位小数输出,便在调用scanf函数时,自以为是把控制符打成%.2f,结果格式错误。细节把握不好,多看看书本源程序

    4.本题PTA提交列表

    7-4 输出三角形面积和周长

    本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√
    ​s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。

    1.实验代码

    	double a,b,c,s,area,perimeter;
    	scanf("%lf%lf%lf",&a,&b,&c);
    	s=(a+b+c)/2;
    	area=sqrt(s*(s-a)*(s-b)*(s-c));
    	perimeter=a+b+c;
    	if((a+b)>c&&(a+c)>b&&(b+c)>a){
    		printf("area = %.2f; perimeter = %.2f",area,perimeter);	
    	}
    	else{
    		printf("These sides do not correspond to a valid triangle\n");
    	}
    

    2 设计思路

    1.定义双精度浮点型变量a,b,c,s,area,perimeter
    2.输入三个边长a,b,c
    3.表达式s=(a+b+c)/2,面积area=(s(s-a)(s-b)*(s-c)^0.5,周长perimeter=a+b+c
    4.若((a+b)>c,(a+c)>b,(b+c)>a同时成立,则分别输出面积area和周长perimeter的值,否则换行输出These sides do not correspond to a valid triangle

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

    1.if-else掌握不是非常好,在if后的else还加判断条件。
    2.对于出现编译错误还是不会自己调试

    4.本题PTA提交列表

    7-6 出租车计价

    本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
    起步里程为3公里,起步费10元;
    超起步里程后10公里内,每公里2元;
    超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
    营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

    1.实验代码

    double journey,fee1,fee2;
    	int time;
    	scanf("%lf%d",&journey,&time);
    	fee2=(time/5)*2;
    	if(journey<=3){
    		fee1=10;
    	}
    	else if(journey>3&&journey<=10){
    		fee1=10+(journey-3)*2; 
    	}
    	else {
    		fee1=24+(journey-10)*3;
    	}
    	printf("%.0f",fee1+fee2);
    

    2 设计思路

    1.定义整型变量time,双精度浮点型变量journey,fee1,fee2
    2.输入路程journey和时间time
    3.算出停车时间所用的费用fee2=(time/5)2
    4.如果journey<=3,则fee1=10;否则如果3<journey<=10,则fee1=10+(journey-3)
    2;否则的话,fee1=24+(journey-10)*3
    5.输出fee1+fee2的值

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

    1.这题在打代码上并并没多大问题,思路也很清晰,还是调试问题不太熟悉

    4.本题PTA提交列表

    7-8 程序设计联考

    自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用PTA系统作为考试平台之后,联考工作得到了很多学校的认可和支持。所以,现在参与联考的学校比较多。为了便于区分考生,考生账号的第一位是学校代号。1代表Hunan Agricultural University,2代表Jishou University,3代表Huaihua University,4代表Aerospace University,5代表Ocean University。 请编写程序根据考生的账号区分考生的学校。

    1.实验代码

    	int account,code;
    	scanf("%d",&account);
    	code=account/100000;
    	switch(code){
    		case 1:printf("Hunan Agricultural University");
    		break;
    		case 2:printf("Jishou University");
    		break;
    		case 3:printf("Huaihua University");
    		break;
    		case 4:printf("Aerospace University");
    		break;
    		case 5:printf("Ocean University");
    		break;
    		default:printf("Other University");
    		break;
    	}
    

    2 设计思路

    1.定义一个整型变量account,code
    2.输出六位的数字account
    3.表达式code=account/100000
    4.根据多分支语句判断执行步骤。
    如果code=1,则输出Hunan Agricultural University。跳出程序。
    如果code=2,则输出Jishou University。跳出程序。
    如果code=3,则输出Huaihua University。跳出程序。
    如果code=4,则输出Aerospace University。跳出程序。
    如果code=5,则输出Ocean University。跳出程序。
    如果code=6,则输出Other University。跳出程序。

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

    1.刚开始就把表达式写成code=account/10000结果输入每个六位数都是输出other university,多试试几组数据后发现问题所在,少了一个0

    4.本题PTA提交列表

    二、截图本周题目集的PTA最后排名

    三、本周学习总结

    1.你学会了什么?

    我学会了多种的分支结构,还学会了字符的输出输入虽然掌握不是很好

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

    给我一道较复杂分支的题目时,这时不会选择分支结构来解题好

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

    多多向c语言学的好的同学取取经,自己多多动手尝试 ,可以尝试着把课本例题做出来

  • 相关阅读:
    diary and html 文本颜色编辑,行距和其它编辑总汇
    bash coding to changeNames
    virtualbox ubuntu 网络连接 以及 连接 secureCRT
    linux 学习6 软件包安装
    linux 学习8 权限管理
    vim 使用2 转载 为了打开方便
    ubuntu
    linux 学习15 16 启动管理,备份和恢复
    linux 学习 14 日志管理
    linux 学习 13 系统管理
  • 原文地址:https://www.cnblogs.com/soyam/p/7731452.html
Copyright © 2011-2022 走看看