zoukankan      html  css  js  c++  java
  • C语言第二次博客作业分支结构

    一、PTA实验作业

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

    本题目要求计算下列分段函数f(x)的值:

    1.代码

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

    2.设计思路

    • (1)定义两个浮点型变量x,y。
    • (2)输入变量x。
    • (3)若x>=0,则y=pow(x,0.5)。
    • (4)若x<0,则y=pow(x+1,2)+2*x+pow(x,-1)。
    • (5)输出f(x)=y(x,y保留两位小数)。

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

    • (1)没有按照题目要求的格式输出
    • 解决办法:再次读题,改正输出格式。

    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 s,d,e;
       scanf("%d %d %d",&a, &b, &c);
       if(a+b>c&&a+c>b&&b+c>a)
       {
            s=1.0*(a+b+c)/2;
       	d=sqrt(s*(s-a)*(s-b)*(s-c));
       	e=a+b+c;
       	printf("area = %.2lf; perimeter = %.2lf",d,e);
       }
       else
       {
       	printf("These sides do not correspond to a valid triangle");
       }
    
    

    2.设计思路

    • (1)定义三个整数型变量a,b,c代表三角形三边。定义三个浮点型变量s,d,e,d代表面积,e代表周长。
    • (2)输入整数a,b,c。
    • (3)若a+b>c&&a+c>b&&b+c>a,则构成三角形。
    • (4)计算s,s=1.0*(a+b+c)/2。
    • (5)计算面积d,d=sqrt(s(s-a)(s-b)*(s-c))。
    • (6)计算周长e,e=a+b+c。
    • (7)输出area = d; perimeter = e(d,e保留两位小数)
    • (8)若a,b,c不构成三角形,则输出These sides do not correspond to a valid triangle。

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

    • (1)一开始不懂得如何表达构成三角形的条件
    • 解决办法:翻阅课本,学会使用&&。
    • (2)e定义类型错误,没有保留小数。
    • 解决办法:认真读题,改正e的定义类型。

    4.本题PTA实验结果

    贴图展示。如图:

    题目3.7-6 出租车计价

    本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
    起步里程为3公里,起步费10元;
    超起步里程后10公里内,每公里2元;
    超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
    营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

    1.代码

        int time;
        double kilometer;
        scanf("%lf%d",&kilometer, &time);
        if(kilometer<=3)
            printf("%.0lf",10+1.0*(time/5)*2);
        else if(kilometer>=3&&kilometer<=10)
           printf("%.0lf",10+(kilometer-3)*2+1.0*(time/5)*2);
        else
    	   printf("%.0lf",24+(kilometer-10)*3+1.0*(time/5)*2);
    

    2.设计思路

    • (1)定义一个整数型变量time放时间,定义一个浮点型变量kilometer代表公里。
    • (2)输入变量kilometer,time。
    • (3)若kilometer<=3,则输出10+1.0(time/5)2的值。(结果四舍五路)
    • (4)若kilometer>=3&&kilometer<=10,则输出10+(kilometer-3)2+1.0(time/5)*2的值。(结果四舍五路)
    • (5)若kilometer>10,则输出24+(kilometer-10)3+1.0(time/5)*2的值。(结果四舍五路)

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

    • (1)问题复杂化
    • 解决方法:借鉴他人思路。

    4.本题PTA实验结果

    贴图展示。如图:

    题目4.7-8 程序设计联考

    自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用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.设计思路

    • (1)定义一个整数型变量account。
    • (2)输入一个六位正整数。
    • (3)计算account/100000的值即为这六位数的十万位数。
    • (4)若 case=1,输出Hunan Agricultural University跳出switch。
    • (5)若 case=2,输出Jishou University跳出switch
    • (6)若 case=3,输出Huaihua University跳出switch
    • (7)若 case=4,输出Aerospace University跳出switch
    • (8)若 case=5,输出Ocean University跳出switch
    • (9)若结果为其他,则输出Ocean University跳出switch

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

    • (1)无问题。

    4.本题PTA实验结果

    贴图展示。如图:

    二、截图本周题目集的PTA提交列表及最后排名。

    如:
    PTA提交列表


    PTA排名

    三、本周学习总结

    1.你学会了什么?

    • (1)学会了if-else和switch的基本用法以及判断何时使用这两种中的一种。
    • (2)break的作用以及何时正确使用。
    • (3)学会&&,||,!等符号的意义和使用。
    • (4)学会了调试。
    • (5)学会了字符型变量的定义和使用。

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

    • (1)如何使编程时思路更清晰。
    • (2)switch和if-else的灵活应用。

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

    • 看到题目时无法立马想出正确思路,容易复杂化问题。多练习敲代码,学习更多知识,少犯错误。
  • 相关阅读:
    Java实现 LeetCode 27 移除元素
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 24 两两交换链表中的节点
    Java实现 LeetCode 24 两两交换链表中的节点
    Java实现 LeetCode 24 两两交换链表中的节点
  • 原文地址:https://www.cnblogs.com/oracler0103/p/7722995.html
Copyright © 2011-2022 走看看