热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言第二周作业

一、PTA实验作业题目一:7-1计算分段函数1.实验代码doublex,y;scanf(%lf,&x);if(x0){ypow(x,0.5);}else{ypo

一、PTA实验作业

题目一:7-1 计算分段函数

1232310-20171021214913881-1153235953.png

1.实验代码

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

2.设计思路

  • 1.定义浮点型变量X,Y;
  • 2.输入X的值;
  • 3.如果X大于等于0,Y等于X的0.5次方;
  • 4.否则y=pow(x+1,2)+2*x+1/x;
  • 5.保留两位小数,输出X和Y的值;

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

  • 1.在使用数学函数时没有加入函数声明#include,后来自己发现错误并解决;
  • 2.X与运算符之间应该空格,否则显示格式错误,如x >= 0;
  • 3.发现保留两位小数既可以表示成 %.2lf,也可以表示成%.2f;

    4.本题PTA提交列表:

    1232310-20171021225242349-1435285348.jpg

题目二: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,area,perimeter;scanf("%d %d %d",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){s=(a+b+c)*1.0/2;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,浮点型变量 s,area,perimeter;
  • 2.输入 a,b,c;
  • 3.如果满足任意两条边大于第三边,则s=(a+b+c)1.0/2;
    area=sqrt(s
    (s-a)(s-b)(s-c));
    perimeter=a+b+c,输出area,perimeter的值;
  • 4.否则输出These sides do not correspond to a valid triangle;

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

  • 1.输出格式中,%.2f;和 perimeter之间要空格,解决办法是以后可以直接把输出格式复制黏贴;
  • 2.&符号用在scanf中,不用在printf中,以后要多注意;
  • 3.假如else后面无公式,则不用加{},开始时加了{},后来在同学的帮助下改正;
  • 4.变量名取得不好,无法见名知义,借鉴同学的,可取名为side1,side2,side3;
  • 5.最后一句输出语句中闹了一个大笑话,These sides do not correspond to a valid triangle中少了一个a,解决办法是复制黏贴或者以后细心一点,嘻嘻;
  • 6.让整型变量相除成为实型变量的办法是让被除数*1.0,这是同学给的建议;

    4.本题PTA提交列表:

    1232310-20171021224945521-521334999.jpg

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

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

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

1.实验代码

int t;double price,s;scanf("%lf%d",&s,&t);if(s<&#61;3){price&#61;10&#43;t/5*2;}else if(3

2.设计思路

  • 1.定义整型变量t&#xff0c;浮点型变量s,price&#xff1b;
  • 2.输入s和t的值&#xff1b;
  • 3.如果s<&#61;3则price&#61;10&#43;t/5*2&#xff1b;
  • 4.如果3(s-3)&#43;t/52&#xff1b;
  • 5.否则price&#61;10&#43;2(10-3)&#43;3(s-10)&#43;t/5*2&#xff1b;
  • 6.输出price的值&#xff0c;四舍五入为整数&#xff1b;

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

  • 1.四舍五入的符号不知道怎么写&#xff0c;在同学帮助下知道了是%.0lf&#xff1b;
  • 2.price虽然最后四舍五入取整&#xff0c;也仍应定义为浮点型变量&#xff0c;在同学帮助下改正&#xff1b;
  • 3.scanf("%lf%d",&s,&t)&#xff1b;语句中%lf和%d之间不空格会更好&#xff0c;节省内存&#xff0c;空格键也占内存&#xff1b;
  • 4.这道题有两种思路&#xff0c;一种是把每一段路程的计价都加上等待时间的计价&#xff0c;另一种是先计算等待时间的计价&#xff0c;最后再加起来&#xff1b;

    4.本题PTA提交列表&#xff1a;

    1232310-20171023125929035-1439705936.jpg

题目四&#xff1a;7-8 程序设计联考

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

1.实验代码

int account,number;scanf("%d",&account);number&#61;account/100000;switch (number){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,number&#xff1b;
  • 2.输入account的值&#xff1b;
  • 3.令number&#61;account/100000&#xff1b;
  • 4.进入switch语句判断&#xff0c;看变量值是否满足case 1&#xff1b;case 2&#xff1b;case 3&#xff1b;case4&#xff1b;case5&#xff1b;
  • 5.若都不满足&#xff0c;则进入default语句&#xff1b;

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

  • 1.对switch 语句的掌握不是很熟练&#xff0c;应用得不够灵活&#xff0c;以为switch只能与op连用&#xff0c;后来在同学的帮助下改正&#xff1b;
  • 2.没有考虑到后面case判断的数都是整数&#xff0c;将account,number定义成double&#xff1b;
  • 3.switch后面的括号里只能有一个变量&#xff0c;不能是表达式&#xff0c;例如account/100000&#xff0c;所以要另设一个变量number&#xff1b;

    4..本题PTA提交列表&#xff1a;

    1232310-20171024180848988-735747286.jpg

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

    1232310-20171024183720629-1360366023.jpg

三、本周学习总结

1.你学会了什么&#xff1f;

  • 1.学会了switch分支结构语句&#xff0c;for循环语句&#xff1b;
  • 2.学会了常用数学函数平方根函数&#xff0c;绝对值函数&#xff0c;幂函数&#xff0c;指数函数&#xff0c;以e为底的对数函数&#xff1b;
  • 3..让整型变量相除成为实型变量的办法是让被除数*1.0&#xff1b;
  • 4.四舍五入的符号是%.0lf&#xff1b;
  • 5.定义错误也会导致答案错误&#xff0c;要多注意&#xff1b;

2.本周的内容&#xff0c;你还不会什么&#xff1f;

  • 1.对switch语句的使用不是很熟练&#xff1b;

3.你碰到什么困难&#xff0c;打算如何解决&#xff1f;

  • 1.常用数学函数记不住&#xff0c;要反复背&#xff0c;经常练习&#xff1b;

转:https://www.cnblogs.com/guoruiqian/p/7707137.html



推荐阅读
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 本文探讨了如何在模运算下高效计算组合数C(n, m),并详细介绍了乘法逆元的应用。通过扩展欧几里得算法求解乘法逆元,从而实现除法取余的计算。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • This document outlines the recommended naming conventions for HTML attributes in Fast Components, focusing on readability and consistency with existing standards. ... [详细]
  • Splay Tree 区间操作优化
    本文详细介绍了使用Splay Tree进行区间操作的实现方法,包括插入、删除、修改、翻转和求和等操作。通过这些操作,可以高效地处理动态序列问题,并且代码实现具有一定的挑战性,有助于编程能力的提升。 ... [详细]
author-avatar
陈珍家615971
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有