一、PTA实验作业

题目1:计算分段函数[2]

1.实验代码

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

2 设计思路

  • 第一步:定义两个实数变量。
  • 第二步:输入x。
  • 第三步:判断x<0则y=pow(x+1,2))+2*x+1/x。

    否则y=sqrt(x)。
  • 第四步:输出y即f(x)。

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

多出入了一个printf的代码,没有按照题目的要求来做。

4.本题PTA提交列表

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

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

​s(s−a)(s−b)(s−c)



​​,其中s=(a+b+c)/2。

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=((double)a+b+c)/2;
perimeter=a+b+c;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area = %.2f; perimeter = %.2f",area,perimeter);}
else {
printf("These sides do not correspond to a valid triangle");
}
return 0;

2 设计思路

  • 第一步:定义整数型变量a,b,c为边长,定义实数变量area,perimeter,s为面积,周长和一个数据中转。
  • 第二步:输入边长a,b,c。
  • 第三步:根据三角形定义,任意两边之和大于第三边的定理判断能否成为三角形。
  • 第四步:计算s=((double)a+b+c)/2,perimeter=a+b+c,area=sqrt(s(s-a)(s-b)*(s-c))。
  • 第五步:输出各项数据。

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

在调试中一直出现格式错误,后面找了出来解决了问题.

4.本题PTA提交列表

3.出租车计价

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

起步里程为3公里,起步费10元;

超起步里程后10公里内,每公里2元;

超过10公里以上的部分加收50%的回空补贴费,即每公里3元;

营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

1.实验代码

double distance,wait,price;
int x;
scanf("%lf%lf",&distance,&wait);
if(distance<=3){
x=wait/5;
price=10+2*x;}
else if(distance>3&&distance<=10){
x=wait/5;
price=10+(distance-3)*2+x*2;}
else{
x=wait/5;
price=24+(distance-10)*3+x*2;
}
printf("%.0f",price);
return 0;

2 设计思路

  • 第一步:定义实数变量distance,wait,price,定义整型变量中转数x。
  • 第二步:输入distance,wait。
  • 第三步:判断distance<=3,若是x=wait/5,price=10+2x;

    要是3<distance<=10,则x=wait/5,price=10+(distance-3)
    2+x2;

    否则x=wait/5,price=24+(distance-10)
    3+x*2。
  • 第四步:输出price。

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

本题较为顺利,没有什么错误。

4.本题PTA提交列表

4.程序设计联考

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

1.实验代码

    int account;
scanf("%d",&account);
switch(account/100000){
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 设计思路

  • 第一步:定义整型变量account。
  • 第二步:输入变量account。
  • 第三步:运用switch语句,关系式为account/100000.
  • 第四步:通过选择输出相应的学校。

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

不认真看,学校名称写错。

4.本题PTA提交列表

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

三、本周学习总结

1.你学会了什么?

在这一周中我学会了switch语句的用法,还懂得了if-else的嵌套语法,这是分支结构的两个大语句。还学会了字型符变量,这是一种新变量。

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

本周的switch语句还是比较陌生,字符型变量也有些混乱,但我相信在多过两星期,多打一些代码就能够解决这一些困难。

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

先自己去解决,要是实在解决不了的话,通过网上查询或者问老师同学,在解决问题之后,更应巩固这一种知识,我觉得应该多多参加类似ACM,网络安全协会类似的社团,多多了解关于计算机这一方面的知识。

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

  1. C语言第二周作业----分支结构

    一.PTA实验作业 题目1.7-1计算分段函数 本题目要求计算下列分段函数f(x)的值: 注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂. 1.实验代码 int ma ...

  2. C语言第二周作业——分支结构

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

  3. C语言第二次作业-----顺序结构

    一:改错题 (1)输出指定信息: 将给定源代码输入编译器: 执行编译命令,发现编译器报错,错误信息如下: 经检查,发现源程序将"stdio.h"误拼为"stido.h&q ...

  4. C语言第二次作业——顺序结构

    一.改错题 1.输出带框文字:在屏幕上输出以下3行信息. (1)源程序 对程序进行编译,发现错误信息1 错误原因:stdio拼写错误 改正方法:将stdio正确拼写 对程序进行编译,发现错误信息2 错 ...

  5. C语言程序设计第二次作业--顺序结构

    C语言程序设计第二次作业--顺序结构 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido ...

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

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

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

    一.PTA实验作业 题目1:计算分段函数 1.实验代码 double x,y; scanf("%lf",&x); if(x>=0){ y=sqrt(x); print ...

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

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

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

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

随机推荐

  1. setBit testBit权限管理(shiro项目中来的二)

    一,setBit testBit权限管理的理解 1.1.jdk7文档解释 public boolean testBit(int n)Returns true if and only if the de ...

  2. 使用 github 做代码管理,知道这些就够了

    只要掌握了下面的常用命令,基本上用使用 github 就没有问题.github 有两种认证方式,一种是通过 ssh 私钥的方式,一种通过 https 的账号名和密码.ssh 方式需要创建本地秘钥并且添 ...

  3. 浏览器之window对象--javascript

    window对象代表打开的浏览器窗口,是Web浏览器所有内容的主容器.window对象是整个对象链条结构的最高层,是其他对象的父对象,在调用window对象的方法和属性时,可以省略window对象的引 ...

  4. js 数组去重常见的几种方式

    1.利用标记 var arr = [2,6,2,6,4,3,16];// arr = [2,6,4,3,16] function norepeat(arr){ var res = []; for(va ...

  5. [BZOJ1070] [SCOI2007] 修车 (费用流 & 动态加边)

    Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使 ...

  6. NancyFX 第三章 Web框架

    如果使用Nancy作为一个WEB框架而言,会有什么不同?实际上很多. 在使用Nancy框架为网页添加Rest节点和路由和之前的Rest框架中是相同的,这方面没有什么需要学习的了.Nancy采用一贯的处 ...

  7. MongoDB 桌面管理器MongoVUE

    MongoVUE是一个桌面GUI工具,专用于Windows平台,它有一个简洁.清爽的界面,它的基本功能是免费的.它可以以文本视图.树视图.表格视图来显示MongoDB的数据.还可以保持查询的结果供以后 ...

  8. Starting a Gradle Daemon, 5 busy and 1 incompatible and 1 stopped Daemons could not be reused, use --status for details FAILURE: Build failed with an exception. * What went wrong: Could not dispatch

    执行gradle build出的问题,查看hs_err_pid11064.log日志文件发现,是电脑的RAM不足导致

  9. 设计模式——命令模式(C++实现)

    [root@ ~/learn_code/design_pattern/19_order]$ cat order.cpp #include <iostream> #include <s ...

  10. canvas小球

      小球碰撞效果是采用面向对象的方式写的,在小球的构造器里包含了小球的属性值,大小,移动速度,半径大小以及颜色. 在小球的原型方法里,添加了小球运动的方法,当小球碰撞到屏幕边界的时候进行反弹. 小球是 ...