C语言第二次博客作业——分支结构
一、PTA实验作业
题目1:计算分段函数
1.实验代码
#include<stdio.h>
#include<math.h>
int main(void)
{
double x=0,fx=0;
scanf("%lf",&x);
if(x>=0){
fx=pow(x,0.5);
}
else if(x<0){
fx=pow(x+1,2)+2*x+1/x;
}
printf("f(%.2f) = %.2f",x,fx);
return 0;
}
2 .设计思路
- 第一步:定义两个双精度浮点型变量x,fx,并输入x。
- 第二步:若x大于等于零,则y等于根号x;若x小于零,则y等于x+1整体的平方加2*x加1/x。
- 第三步:根据题目格式输出结果。
3.本题调试过程碰到问题及解决办法
问题:格式错误。
按照题目格式输出结果。
4.本题PTA提交列表

题目2:7-4 输出三角形面积和周长
1.实验代码
#include<stdio.h>
#include<math.h>
int main(void)
{
int a,b,c;
double s,area,perimeter;
scanf("%d%d%d",&a,&b,&c);
s=(a+b+c)/2.0;
area=pow(s*(s-a)*(s-b)*(s-c),0.5);
if(a+b>c&&a+c>b&&b+c>a)
printf("area = %.2f; perimeter = %.2f",pow(s*(s-a)*(s-b)*(s-c),0.5),(a+b+c)*1.0);
else
printf("These sides do not correspond to a valid triangle");
return 0;
}
2 .设计思路
- 第一步:定义3个整型变量a,b,c表示边长;定义三个双精度浮点型变量s,area,perimeter,并输入三条边。
- 第二步:利用分支结构语句进行条件判断。
- 第三步:若满足条件,利用公式计算出area和perimeter的结果并输出。
- 第四步:若不满足,则输出These sides do not correspond to a valid triangle。
3.本题调试过程碰到问题及解决办法
问题1:把计算公式写在scanf之前,造成代码一直错误。
同学提醒,scanf必须卸载计算公式前,计算公式才有意义。
问题2:虽然定义了三个双精度浮点型变量,但与题目输出结果不一致。
没有*1.0,即没有把输出结果变成保留两位小数。
4.本题PTA提交列表

题目3:7-6 出租车计价
1.实验代码
#include<stdio.h>
int main(void)
{
int time;
float km;
scanf("%f%d",&km,&time);
if(km<=3)
printf("%d",10+time/5*2);
if(km>3&&km<=10)
printf("%.0f",(km-3)*2+10+time/5*2);
if(km>10)
printf("%.0f",10+7*2+(km-10)*3+time/5*2);
return 0;
}
2 .设计思路
- 第一步:定义整型变量time表示等待时间,定义单精度浮点型变量km表示路程,输入km,time。
- 第二步:利用分支结构语句进行条件判断。
- 第三步:输出结果。
3.本题调试过程碰到问题及解决办法
问题1:不知道怎么计算时间大于5的计费情况。
利用算式time/5就可以算出时间的计费。
问题2:不知道怎么四舍五入。
利用%.nf可以保留n位小数。
4.本题PTA提交列表

题目4:7-8 程序设计联考
1.实验代码
#include<stdio.h>
int main(void)
{
int account,a;
scanf("%d",&account);
a=account/100000;
if(a==1){
printf("Hunan Agricultural University");}
if(a==2){
printf("Jishou University");}
if(a==3){
printf("Huaihua University");}
if(a==4){
printf("Aerospace University");}
if(a==5){
printf("Ocean University");}
if(a==6||a==7||a==8||a==9){
printf("Other University");}
return 0;
}
2 .设计思路
- 第一步:定义两个整形变量account和x,account是六位整数,x是其首位,并输入account。
- 第二步:利用分支结构语句进行条件判断。
- 第三步:输出结果。
3.本题调试过程碰到问题及解决办法
问题1:错把a等于1打成a=1.
把a=1改成a==1.
问题2:最后的条件准备用else结束,但输出错误,无论输出什么都有Other University。
只能继续用if语句,把可能情况一一列出。忽略a等于0的情况。
4.本题PTA提交列表

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

三、本周学习总结
1.你学会了什么?
- 1.会使用分支结构语法。
- 2.会使用switch语句。
- 3.会定义字符型变量。
- 4.会逻辑运算的表示。
2.本周的内容,你还不会什么?
- 1.if-else语句嵌套起来的使用。
- 2.复杂的分支结构不会用代码表示。
- 3.else和if的匹配原则。
3.你碰到什么困难,打算如何解决?
- 1.碰见困难,总是习惯先问同学,而不是利用程序调试。
多练习调试的过程,熟悉调试的步骤,做到能够利用调试解决代码错误。 - 2.遇见复杂分支结构的题目,只会用if语句,而不会使用if-else嵌套。使代码看起来繁琐。
多做一些pta题目,换着使用各种语法结构。
本周小结
每次写博客上提问的问题,比如“设计思路”,感到十分为难。写pta的题目,有一些问题,看见了就有思路,自然而然就写好了代码,而有一些题目,绞尽脑汁都想不出。从来不会考虑取写设计思路,所以在博客园上都是利用现有代码,临时写出设计思路,感觉十分痛苦。至于“本题调试过程碰到问题及解决办法,因为写代码与写博客有一段时间差,回忆不出一些印象浅的问题。还有对于没有问题却要凭空想出问题感到很无奈。所以写博客远没有写代码有成就感。所以我觉得有必要把写代码出现的问题记录下来。
C语言第二次博客作业——分支结构的更多相关文章
- C语言第二次博客作业---分支结构
一,PTA实验作业 题目1.计算分段函数 本题目要求计算下列分段函数f(x)的值: 1.实验代码 double x,result; scanf("%lf",&x); if( ...
- C语言第二次博客作业—分支结构
一.PTA实验作业 题目1:计算分段函数 1.实验代码 double x,y; scanf("%lf",&x); if(x>=0){ y=sqrt(x); print ...
- C语言第二次博客作业---分支结构 陈张鑫
一.PTA实验作业 题目1:计算分段函数[2] 本题目要求计算下列分段函数f(x)的值: 1.实验代码 int main(){double x,y; scanf("%lf",&am ...
- C语言第二次博客作业
一.PTA实验作业 题目1:计算分段函数[2] 本题目要求计算下列分段函数f(x)的值: 1.实验代码 int main (void) { double x,y; scanf("%lf&qu ...
- Java语言课程设计——博客作业教学数据分析系统(201521123107 张翔)
#Java语言课程设计--博客作业教学数据分析系统(个人博客) 1.团队课程设计博客链接 [博客作业教学数据分析系统(From:网络五条狗)](http://www.cnblogs.com/fanta ...
- OO第二次博客作业——电梯调度
OO第二次博客作业——电梯调度 前言 最近三周,OO课程进入多线程学习阶段,主要通过三次电梯调度作业来学习.从单部电梯的傻瓜式调度到有性能要求的调度到多部电梯的调度,难度逐渐提升,对同学们的要求逐渐变 ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- OO第二次博客作业—17373247
OO第二次博客作业 零.写在前面 OO第二单元宣告结束,在这个单元里自己算是真正对面向对象编程产生了比较深刻的理解,也认识到了一个合理的架构为编程带来的极大的便利. (挂三次评测分数 看出得分接近等差 ...
- Java第二次博客作业
Java第二次博客作业 时间过的很快啊,在不知不觉中这门课程的学习也就快要过去一半了,现在就来总结一下在这个第二个月的学习当中存在的问题以及得到的心得. 1.前言 第四次题目集和第五次题目集给我的感觉 ...
随机推荐
- win10 更新系统更新补丁后无法启动处理办法
win10无法启动不用怕!WinRE恢复环境轻松修复win10系统 Win10技术预览版发布至今,已经整整过去十天时间.经过这段时间的使用体验,小伙伴们有没有遇到一些问题,导致系统出错甚至无法启动呢? ...
- 利用GDI+在Winfrom绘制验证码
string yzm: private void yangzhengma() { Bitmap bt = new Bitmap(70,22);//创建位图对象 Graphics gs = Graphi ...
- linux iscsi配置
iSCSI 是一种 SAN的设备而 SAN的设备主要是提供 Server 存储体的空间.相较于传统的 SAN 是以光纤为传输媒体而 iSCSI(Internet SCSI)他是 IP-based 的数 ...
- lvs-dr 模式-piranha
系统: redhat 6.5 mini 机器名 ip vip lvs01(主lvs) 192.168.20.10 192.168.20.254 lvs02(备lvs) 192.168.20.20 rs ...
- Redis进阶实践之十六 Redis大批量增加数据
一.介绍 有时,Redis实例需要在很短的时间内加载大量先前存在或用户生成的数据,以便尽可能快地创建数百万个键.这就是所谓的批量插入,本文档的目标是提供有关如何以尽可能快的速度向Redis提 ...
- 谈谈MySQL的事务隔离级别
这篇文章能够阐述清楚跟数据库相关的四个概念:事务.数据库读现象.隔离级别.锁机制 一.事务 先来看下百度百科对数据库事务的定义: 作为单个逻辑单元执行一系列操作,要么完全执行,要么完全不执行.事务处理 ...
- ssm整合快速入门程序(一)
整合基础说明 spring 是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.Spring是于2003 年兴起的一个轻量级的Jav ...
- oracle数据库和表的操作
一.字符函数 (1)连接符 concat --连接符 select concat('10086','-')||'1531234567' 电话号 from dual; (2)首字母大写 initcap ...
- java支付宝开发-01-沙箱环境接入
一.沙箱环境说明 (1)蚂蚁沙箱环境(Beta)是协助开发者进行接口功能开发及主要功能联调的辅助环境.沙箱环境模拟了开放平台部分产品的主要功能和主要逻辑(当前沙箱支持产品请参考“沙箱支持产品列表”). ...
- C# QQ邮箱注册,以及数秒
一. 这是前台需要的东西 <asp:TextBox ID="Textemail" runat="server" CssClass="nonein ...