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


    一、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.设计思路

    • 第一步:定义俩个浮点型变量x和double。
    • 第二步:输入变量x的值。
    • 第三步:使用if else分支结构语句判断x的值,若x大于等于0,则结果为根号x,反之为(x+1)的平方加2x加x分之一。
    • 第四步:输出得到的结果,并保留2位小数。

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

    • 答案错误,中文输入发的问题;在编写代码是误用了中文输入发输出小括号(),使得答案错误,在老师的指点下,改正过来。

    4.本题PTA提交列表

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

    本题要求编写程序,根据输入的三角形的三条边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);
    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.设计思路

    • 第一步:定义双精度浮点型变量a,b,c,s,area,perimeter。
    • 第二步:输入变量啊a,b,c的值。
    • 第三步:根据公式perimeter=a+b+c,s=(a+b+c)/2,area = sqrt(s(s-a)(s-b)*(s-c));计算三角形的周长和面积。
    • 第四步:判断所输入的三条边是否满足三角形“俩条边之和大于第三条边”的关系,满足则输出三角形的面积和周长,反之输出These sides do not correspond to a valid triangle。

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

    • 或,与,非的用法还未完全了解,以至于在输入if的条件时把a+b>c&&a+c>b&&b+c>a输成了a+b>c||a+c>b||b+c>a,翻书后明白了三者符号的含义,输出了正确的答案。

    4.本题PTA提交列表

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

    起步里程为3公里,起步费10元;
    超起步里程后10公里内,每公里2元;
    超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
    营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

    1.实验代码

    double s,money1,money2,sum;
    int n,t;
    scanf("%lf%d",&s,&t);
    if(s<=3){
    money1=10;
    }
    else if(s>3&&s<=10){
    money1=10+(s-3)2;
    }
    else if(s>10){
    money1=24+(s-10)
    3;
    }
    if(t<5){
    money2=0;
    }
    else if(t>=5){
    n=t/5;
    money2=2*n;
    }
    sum=money1+money2;
    printf("%.lf ",sum);

    2.设计思路

    • 第一步:定义变量s,money1,money2,sum;分别代表路程,路程的费用,时间的费用和总费用。
    • 第二步:输入出租车行走的路程和时间。
    • 第三步:用if else语句判断路程和时间的长短,并计算出相应的费用。
    • 第四步:输出这次乘车的总费用。

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

    • 在提交的过程中,总是部分正确,pta提示是没有判断三公里和五分钟,这也使得我非常纳闷,在Dev c++上输出的结果都可以,最后找出了错误,题目没有看清,要将时间和路程分开来计算。

    4.本题PTA提交列表

    题目4:程序设计联考

    1.实验代码

    int account,n;
    scanf("%d",&account);
    n=account/100000;
    switch(n){
    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");

    2.设计思路

    • 第一步:定义俩个变脸account,n;account用来放输入的学号,n用来放学号的第一个数字。
    • 第二步:判断n中的数字。
    • 第三步:输出相应的大学名称。

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

    • 和上一题一样,也是部分正确,错误在最后的一个Other University,在pta题目上Other和University间没有空格,复制粘贴得到的结果就是部分正确。

    4.本题PTA提交列表

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

    三、本周学习总结

    1.你学会了什么?

    • 这一周,我学会了if else语句,while语句,switch语句,for语句的使用方法;还有使用break与不使用的区别;char的定义;case的用法;还有判断字符要用’‘号引起,判断数字则不需要。

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

    • 主要还是不熟悉,反应不快,并没有什么不会的内容。

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

    • 同上一周一样,在接触新的知识后,不能很好的用所学的知识打出完全正确的代码,需要翻书不断的巩固细节上的东西。写代码首先想到的是更前一段时间所学的,比如先用if else语句,写不出后才用switch语句。认为自己还是需要不断的更快的适应新知识的使用。
  • 相关阅读:
    DocumentHelper.parseText dom4j 前言中不允许有内容
    Spring的@Autowired 集合注入
    SpringBoot 属性注入的四种方式
    springboot bootstrap.yml和application.yml和application.properties 加载顺利
    Swagger ui登录功能实现方案
    ThreadPool ExecutorService使用invokeAll提交多个任务并等待结果返回
    Snorlax 靶场:Python 获取验证码、token 爆破
    CMS 文件管理系统:SQL Bool 盲注
    CMS 文件管理系统:SQL 时间盲注
    Snorlax 靶场:爆破攻击
  • 原文地址:https://www.cnblogs.com/bigll666/p/7732199.html
Copyright © 2020-2023  润新知