C语言第二周作业
一、PTA实验作业
题目一:7-1 计算分段函数
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<math.h>,后来自己发现错误并解决;
- 2.X与运算符之间应该空格,否则显示格式错误,如x >= 0;
- 3.发现保留两位小数既可以表示成 %.2lf,也可以表示成%.2f;
4.本题PTA提交列表:

题目二: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提交列表:

题目三: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<=3){
price=10+t/5*2;
}
else if(3<s&&s<=10){
price=10+2*(s-3)+t/5*2;
}
else {
price=10+2*(10-3)+3*(s-10)+t/5*2;
}
printf("%.0lf",price);
}
2.设计思路
- 1.定义整型变量t,浮点型变量s,price;
- 2.输入s和t的值;
- 3.如果s<=3则price=10+t/5*2;
- 4.如果3<s且s<=10则price=10+2(s-3)+t/52;
- 5.否则price=10+2(10-3)+3(s-10)+t/5*2;
- 6.输出price的值,四舍五入为整数;
3.本题调试过程碰到问题及解决办法:
- 1.四舍五入的符号不知道怎么写,在同学帮助下知道了是%.0lf;
- 2.price虽然最后四舍五入取整,也仍应定义为浮点型变量,在同学帮助下改正;
- 3.scanf("%lf%d",&s,&t);语句中%lf和%d之间不空格会更好,节省内存,空格键也占内存;
- 4.这道题有两种思路,一种是把每一段路程的计价都加上等待时间的计价,另一种是先计算等待时间的计价,最后再加起来;
4.本题PTA提交列表:

题目四:7-8 程序设计联考
自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用PTA系统作为考试平台之后,联考工作得到了很多学校的认可和支持。所以,现在参与联考的学校比较多。为了便于区分考生,考生账号的第一位是学校代号。1代表Hunan Agricultural University,2代表Jishou University,3代表Huaihua University,4代表Aerospace University,5代表Ocean University。 请编写程序根据考生的账号区分考生的学校。
1.实验代码
int account,number;
scanf("%d",&account);
number=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;
- 2.输入account的值;
- 3.令number=account/100000;
- 4.进入switch语句判断,看变量值是否满足case 1;case 2;case 3;case4;case5;
- 5.若都不满足,则进入default语句;
3.本题调试过程碰到问题及解决办法:
- 1.对switch 语句的掌握不是很熟练,应用得不够灵活,以为switch只能与op连用,后来在同学的帮助下改正;
- 2.没有考虑到后面case判断的数都是整数,将account,number定义成double;
- 3.switch后面的括号里只能有一个变量,不能是表达式,例如account/100000,所以要另设一个变量number;
4..本题PTA提交列表:

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

三、本周学习总结
1.你学会了什么?
- 1.学会了switch分支结构语句,for循环语句;
- 2.学会了常用数学函数平方根函数,绝对值函数,幂函数,指数函数,以e为底的对数函数;
- 3..让整型变量相除成为实型变量的办法是让被除数*1.0;
- 4.四舍五入的符号是%.0lf;
- 5.定义错误也会导致答案错误,要多注意;
2.本周的内容,你还不会什么?
- 1.对switch语句的使用不是很熟练;
3.你碰到什么困难,打算如何解决?
- 1.常用数学函数记不住,要反复背,经常练习;
C语言第二周作业的更多相关文章
- C语言--第二周作业评分和总结(5班)
作业链接:https://edu.cnblogs.com/campus/hljkj/CS2017-5/homework/1026 一.评分要求 要求1 阅读指定博客+阅读收获+例子.(5分) 要求2 ...
- C语言--第二周作业
****学习内容总结**** 1.Git和编辑器截图 2.MOOC截图 3.阅读<提问的智慧>感想 读完<提问的智慧>之后,我认为在提问时,要根据以下步骤: 谨慎明确的描述症状 ...
- C语言第二周作业----分支结构
一.PTA实验作业 题目1.7-1计算分段函数 本题目要求计算下列分段函数f(x)的值: 注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂. 1.实验代码 int ma ...
- C语言第二周作业——分支结构
一.PTA实验作业 题目1.7-1计算分段函数 本题目要求计算下列分段函数f(x)的值: 1实验代码 double x,result; scanf("%lf",&x); i ...
- 20169212《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...
- 20169210《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...
- Java第二周作业
Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...
- 2017-2018-1 20179215《Linux内核原理与分析》第二周作业
20179215<Linux内核原理与分析>第二周作业 这一周主要了解了计算机是如何工作的,包括现在存储程序计算机的工作模型.X86汇编指令包括几种内存地址的寻址方式和push.pop.c ...
- 2019-2020-1 20199329《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 一.上周问题总结: 未能及时整理笔记 Linux还需要多用 markdown格式不熟练 发布博客时间超过规定期限 二.本周学习内容: <庖丁解 ...
随机推荐
- sourcetree的使用
sourcetree的使用 仓库 使用source tree自带的clone,用source tree生成密钥对进行免登录. 分支 从master出发,新建一个分支/从远程获取一个分支.在这个分支做开 ...
- Java 第六章
第六章 for语法:for(表达式①;表达式②;表达式③){ //④循环操作}表达式含义:表达式1:赋值语句, 它用来给循环变量赋初值 例如:int i = 1;表达式2:循环条件,一个关系表达式, ...
- 简单使用Mysql-Cluster-7.5搭建数据库集群
阅读目录 前言 mysql cluster中的几个概念解释 架构图及说明 下载mysql cluster 安装mysql cluster之前 安装配置管理节点 安装配置数据和mysql节点 测试 启动 ...
- CSA Round #54 $\ $Voting
CSA Round #54 \(\ \)Voting 题目大意: 原题网址:戳我戳我! 一次歌唱比赛中,一位歌手刚刚结束表演,评委正在打分. 一共有 \(n\) 位评委,他们每人可以打 \(1\) 分 ...
- 【BZOJ1877】晨跑(费用流)
[BZOJ1877]晨跑(费用流) 题面 Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在 ...
- 通过logstash-input-mongodb插件将mongodb数据导入ElasticSearch
目的很简单,就是将mongodb数据导入es建立相应索引.数据是从特定的网站扒下来,然后进行二次处理,也就是数据去重.清洗,接着再保存到mongodb里,那么如何将数据搞到ElasticSearch中 ...
- anaconda的fish shell支持
最近在用fish shell,但是无法使用conda的activate命令来激活环境.官方给的有解决方案 https://github.com/conda/conda/blob/5b97a96d78e ...
- gradle build docker image
前言:其实gradle-docker插件干的事和我们手动制作镜像是一样的,只不过它封装了一些步骤而已. eg:如果我们要将项目打包成镜像,首先我们要写Dockerfile,这是制作镜像的不可或缺的第一 ...
- C# 值类型与引用类型的异同
int,bool,decimal等为值类型 List,Stream等为引用类型 用等号设置一个值类型变量等于另一个变量时,会完成复制,之后这两个变量相互之间没有任何影响: 对引用使用等号时,这两个引用 ...
- Python 3 中生成器函数yield表达式的使用
生成器函数或生成器方法中包含了一个yield表达式.调用生成器函数时,会返回一个迭代子,值从迭代子中每次提取一个(通过调用其__next__()方法).每次调用__next__()时,生成器函数的yi ...
