一、PTA实验作业

题目1:计算分段函数

1.实验代码

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

2.设计思路

(1)定义双精度浮点型变量x,y;

(2)输入变量x的值;

(3)判断x的值:

如果x大于等于0,那么y=sqrt(x);

否则以表达式y=pow(x+1,2)+2*x+pow(x,-1);

(4)输出答案f(x)=result。

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

  • 本题没有遇到新的问题,还是常见的小错误,乘号被忽略;虽然还是错了,但是一下子就反应过来了!

4.本题PTA实验结果

题目2:7-4 输出三角形面积和周长

1.实验代码

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

2.设计思路

(1)定义整型变量a,b,c为三角形的三条边长;

定义双精度浮点型变量area为三角形面积,perimeter 为三角形周长,s;

(2)输入a,b,c三条边长的值;

(3)判断三条边长能否构成三角形,即任意两边和大于第三边;

如果能构成三角形,则area=sqrt(s(s-a)(s-b)*(s-c)),perimeter=a+b+c,其中s=(a+b+c)/2,然后输出三角形的面积和周长;

否则输出These sides do not correspond to a valid triangle。

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

  • 没有意识到整型除于整型的结果也是整型,导致调试时结果老是错误的,把除数的2改成2.0就好了;
  • 任意两边和大于第三边的条件表达不准确;

4.本题PTA实验结果



题目3:7-6 出租车计价

1.实验代码

	int  minute;
float miles,cost;
cost=10;
scanf("%f %d",&miles,&minute); if(miles<=3)
cost=cost+minute/5*2;
else if(miles>3&&miles<=10)
cost=cost+(miles-3)*2+minute/5*2;
else
cost=cost+14+(miles-10)*3+minute/5*2; printf("%.0f",cost);

2.设计思路

(1)定义整型变量等待时间minute,单精度浮点型变量miles为行车里程,总费用为cost;

(2)起步费为10元,所以给cost赋的初值为10;

(3)当里程不超过三公里时,cost=cost+minute/52;

当里程在三到十公里之间时,cost=cost+(miles-3)
2+minute/52;

当里程超过十公里时,cost=cost+14+(miles-10)
3+minute/5*2;

(4)输出总费用cost的值。

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

(1)一开始把cost设成整型变量,但是这样的结果并不能自动进行四舍五入,所以尝试把它设成浮点型变量,然后保留0位小数,调试结果正确;

(2)题目中的“超过起步里程后十公里内”理解错误,误以为是超过里程后的十公里,所以导致答案错误,后来请教同学后才理解。

4.本题PTA实验结果



题目4:7-8 程序设计联考

1.实验代码

  int account,i;
scanf("%d",&account);
i=account/100000; switch(i){
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表示六位数的学号,i为学号的首位;

(2)用i=account/100000来取学号的首位;

(3)当i=1时输出Hunan Agricultural University;

当i=2时输出Jishou University;

当i=3时输出Huaihua University;

当i=4时输出Aerospace University;

当i=5时输出Ocean University;

(4)否则输出Other University;

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

  • 本题主要是因为在复制答案时一个输出结果多了一个空格,一个答案少了一个空格;其他的答案都是中间空一格,所以试着调整了一下;复制答案也不一定是准确的,以后会留心些。

4.本题PTA实验结果



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

三、本周学习总结

1.你学会了什么?

(1)学会了调试:之前编译有错误了有些错误提示看不懂,找起来很麻烦;但是学会了调试之后,自己可以给自己纠错,而且效率会有所提高;

(2)学了分支结构一些基础的用法,可能运用起来还不是很好,但是通过完成PTA和预习作业,感觉运用起来会非常方便;

(3)明白了if-else语句和switch语句的主要区别,然后根据情况使用更适合的语句,也会减少好多麻烦。

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

(1)分支结构的算法写得还是比较差,表述的不好,会多向写得好的同学学习;

(2)if-else语句中的大括号有和没有的区别还不是很清楚;

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

(1)理解能力需要加强,而且写算法花费的时间太多了,导致题目做得慢,多看看同学的算法,先学习他们的基本框架让自己先能够掌握;

(2)有时候写的程序太复杂了,没有想到比较简便的解题思路,会走很多弯路,代码看起来也不好看,应该还是需要多练习多实践。

C语言第二次博客作业—分支结构的更多相关文章

  1. C语言第二次博客作业---分支结构

    一,PTA实验作业 题目1.计算分段函数 本题目要求计算下列分段函数f(x)的值: 1.实验代码 double x,result; scanf("%lf",&x); if( ...

  2. C语言第二次博客作业——分支结构

    一.PTA实验作业 题目1:计算分段函数 1.实验代码 #include<stdio.h> #include<math.h> int main(void) { double x ...

  3. C语言第二次博客作业---分支结构 陈张鑫

    一.PTA实验作业 题目1:计算分段函数[2] 本题目要求计算下列分段函数f(x)的值: 1.实验代码 int main(){double x,y; scanf("%lf",&am ...

  4. C语言第二次博客作业

    一.PTA实验作业 题目1:计算分段函数[2] 本题目要求计算下列分段函数f(x)的值: 1.实验代码 int main (void) { double x,y; scanf("%lf&qu ...

  5. Java语言课程设计——博客作业教学数据分析系统(201521123107 张翔)

    #Java语言课程设计--博客作业教学数据分析系统(个人博客) 1.团队课程设计博客链接 [博客作业教学数据分析系统(From:网络五条狗)](http://www.cnblogs.com/fanta ...

  6. OO第二次博客作业——电梯调度

    OO第二次博客作业——电梯调度 前言 最近三周,OO课程进入多线程学习阶段,主要通过三次电梯调度作业来学习.从单部电梯的傻瓜式调度到有性能要求的调度到多部电梯的调度,难度逐渐提升,对同学们的要求逐渐变 ...

  7. C语言博客作业06——结构体&文件

    C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...

  8. OO第二次博客作业—17373247

    OO第二次博客作业 零.写在前面 OO第二单元宣告结束,在这个单元里自己算是真正对面向对象编程产生了比较深刻的理解,也认识到了一个合理的架构为编程带来的极大的便利. (挂三次评测分数 看出得分接近等差 ...

  9. Java第二次博客作业

    Java第二次博客作业 时间过的很快啊,在不知不觉中这门课程的学习也就快要过去一半了,现在就来总结一下在这个第二个月的学习当中存在的问题以及得到的心得. 1.前言 第四次题目集和第五次题目集给我的感觉 ...

随机推荐

  1. .Net Core使用Redis的一个入门简单Demo

    本例子讲述一个在.Net core环境中对Redis数据库进行增删改查操作. 首先,要安装好Redis数据库,至于怎么安装,本文不再赘述,可以自行百度,有很详细的教程. 安装好之后,在CMD中输入 r ...

  2. RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用

    在AppiumLibrary库中,Open Application关键字用来打开一个待测试移动APP. 示例1:连接本机已经打开的appium服务端,打开一个待测试的安卓APP,指定测试平台为Andr ...

  3. 【BZOJ1857】传送带(三分)

    [BZOJ1857]传送带(三分) 题面 Description 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P, ...

  4. 【Luogu1876】开灯(数论)

    [Luogu1876]开灯(数论) 题面 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的 ...

  5. jsoup.parse 的一个坑

    那天,写好一个爬虫 爬取某个网站的数据. 当时调用了公司不知道某个人写的 一个方法 logger.info(joururl); doc= util.getDocument(joururl.toStri ...

  6. webapi下的web请求

    先看webapi提供的服务: [HttpPost] public ResultBaseModel SiteList(SiteModel param) { ResultBaseModel resultM ...

  7. 与二叉树有关的编程题的Java代码实现

    该文章几乎包含了所有与二叉树相关的基础面试题,其中包括二叉树的四种遍历方法:前序遍历,中序遍历,后续遍历,层次遍历. 算法题包括: 二叉树的序列化和反序列化 给定一颗二叉搜索树,请找出其中的第k大的结 ...

  8. c#缓存技术(Dictionary)

    无论任何时候,只要传递的参数一致,返回的结果都应该是一致的.这样的函数我们才能够利用缓存.首先我们先定义一个函数,而这个函数将会是我们后面需要缓存的函数: 然后我们修改函数使之能够进行缓存: 这里我们 ...

  9. secureCRT的安装及破解

    secureCRT是我们平时都会用到的终端仿真程序,所谓是居家旅行必备神器啊,下面就说说怎么安装破解secureCRT. (网上有破解版和一些绿色版,感觉或多或少都有点问题,比如我用便携版就有问题,所 ...

  10. 【Unity与23种设计模式】原型模式(Prototype)

    GoF中定义: "使用原型对象来产生指定类的对象,所以产生对象时,是使用复制原型对象来完成." Unity中 开发者可以组装游戏对象 它可以包括复杂的组件 组装好了之后,就可以将其 ...