博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言第二次博客作业---分支结构
阅读量:6655 次
发布时间:2019-06-25

本文共 3226 字,大约阅读时间需要 10 分钟。

一、PTA实验作业

题目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=x开平方。
  • (4)若想x<=0,result=pow(x+1,2)+2*x+1/x。
  • (5)最后以保留两位小数的形式输出result的值。

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

    在做本题时,没有什么思路和语法上的错误,主要是格式上,输出中存在空格的遗漏,导致格式错误。

    4.本题PTA提交列表

    1233828-20171025194414441-1889945158.png

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

1.实验代码

double a,b,c,s,area,perimeter;    scanf("%lf%lf%lf",&a,&b,&c);    perimeter=a+b+c;    s=(a+b+c)/2;    area=sqrt(s*(s-a)*(s-b)*(s-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");    }

2 设计思路

  • (1)定义3个整形变量a,b,c,来代表三角形的三个边长。
  • (2)再定义三个浮点型变量s,area,perimeter,s=(a+b+c)/2,area代表面积,perimeter代表周长。
  • (3)输入三角形的三边边长a,b,c,
  • (4)如果a+b>c 并且 a+c>b 再加上 b+c>a,说明这三条边能构成一个三角形。
  • (5)则perimeter=a+b+c,s=(a+b+c)/2,area=sqrt(s(s-a)(s-b)*(s-c)),计算出周长和面积的值,并输出。
  • (6)若这三条边不能构成三角形则输出These sides do not correspond to a valid triangle。

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

    (1)首先第一次在定义变量时没有考虑到s和area,应该为浮点型,导致结果不正确。

    (2)再者调用数学函数时没有在前面开头输入编译预处理命令,#include<math.h>
    (3)再者就是没有看清题目要求保留几位小数导致结果错误。

    4.本题PTA提交列表

    1233828-20171025200737613-135393396.png

题目3: 出租车计价

1.实验代码

int minute;    double mileage,fee,extra;    scanf("%lf%d",&mileage,&minute);    if(mileage<=3){        fee=10;    }    else if(mileage>3 && mileage<=10){        fee=10+(mileage-3)*2;    }    else{        fee=10+14+(mileage-10)*3;    }    if(minute<5){        extra=0;    }    else{        extra=minute/5*2;    }    fee=fee+extra;    printf("%.0f",fee);

2 设计思路

  • (1)定义一个整形变量minute,三个浮点型变量mileage,fee,extra(extra代表停车时所多需要交的钱,mileage代表里程。
  • (2)输入mileage,minute的值。
  • (3)如果里程数小于三公里,则fee=10,如果里程数在3公里到10公里之间,则fee=10+(mileage-3)2,如果里程高于十公里,则fee=10+14+(mileage-10)3
  • (4)如果停车的时间mnute<5,则extra=0,否则extra=minute/5*2。
  • (5)最后将fee和extra的值相加放到fee上,最后输出fee的值。

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

    (1)第一点就是对题目的含义没有理解透彻,导致结果一直错误,我还一直很纳闷,感觉自己思路没有错可是就是不会对,后来看了同学的代码,与自己对照下,再次去看题目,才理解透彻。

    (2)再者就是刚开始对于时间这个额外的前不知道要怎样加到总钱数上,最后是由助教教我在定义一个extra的变量,使得思路更加清晰。

4.本题PTA提交列表

1233828-20171025202800848-630049036.png

题目4: 程序设计联考

1.实验代码

int account,x;        scanf("%d",&account);     x=account/100000;    switch (x){        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,x,这两个整形变量。
  • (2)在输入一个大于六位数的account。
  • (3)x=account/100000,得出x的值。
  • (4)进行条件判断

    switch (x){
    当x= 1:输出("Hunan Agricultural University");break;
    当x= 2:输出("Jishou University");break;
    当x= 3:输出("Huaihua University");break;
    当x= 4:输出("Aerospace University");break;
    当x= 5:输出("Ocean University");break;
    否则 :输出("Other University");break;
    进行以上操作。最后输出相应的答案。

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

    这题相对比较简单,就只有因为刚开始接触switch语句是有点不熟悉,在最后漏了个defoult导致结果错误。

    4.本题PTA提交列表

    1233828-20171025204031176-1065664596.png

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

1233828-20171025204247410-1469425756.png

三、本周学习总结

1.你学会了什么?

本周学习了条件语句的使用,懂得了简单的对于if,if lse,和else if,还有if的嵌套语句的使用,还有switch语句的使用,还学会了如何对自己的代码进行调试。

还接触了for循环语句

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

对于本周的内容都有大致的掌握,可是对于if嵌套语句,和没有else的if语句还不太会用,不是很理解其用法。

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

我觉得遇到问题先自己思考,不懂的话我会去于同学探讨,或则问助教。

转载于:https://www.cnblogs.com/1028-zwj/p/7729596.html

你可能感兴趣的文章
mysql tablespaces_MySQL8.0-MySQLTablespace
查看>>
mysql enum创建_mysql – 如何在SQLite中创建ENUM类型?
查看>>
mysql5.5.7无法创建.pid_MySQL启动创建不了pid怎么办
查看>>
马哥数据库mysql笔记_马哥学习笔记五MYSQL初步
查看>>
通信原理知识点总结_通信原理课程总结(一)
查看>>
mysql中想选出最新的日期_mysql – 从特定日期开始选择最新版本
查看>>
mysql 二进制日志恢复_使用mysql二进制日志恢复数据
查看>>
mysql 统计信息收集_Oracle 收集统计值 收集统计信息
查看>>
MySQL安装显示路径冲突_linux下的mysql安装路径冲突怎么办
查看>>
django mysql增删查_使用django连接数据库 对数据库 增删改查
查看>>
mysql初次安装_Mysql初始安装
查看>>
mysql源码包最新版本_1mysql源码安装到时候要更新
查看>>
python win32ui_Python win32ui.CreateWindowFromHandle方法代码示例
查看>>
mysql 序列重置不好用_二十九、MySQL 序列使用
查看>>
python字频统计软件_python统计文本中字频的方法
查看>>
java数据类型有哪几种_java数据类型有哪些
查看>>
java 空对象_Java中的空对象模式
查看>>
java课程设计 计算器_Java课程设计-计算器
查看>>
java 什么是内部类_什么是JAVA内部类?
查看>>
java web套打_XMReport-提供web项目Java套打解决方案
查看>>