C语言的第二次作业
一.PTA实验作业
题目1. 计算分段函数
本题目要求计算下列分段函数f(x)的值:

1.本题代码
#include<stdio.h>
#include<math.h>
int main (void)
{
double x,y;
scanf("%lf",&x);
if(x>=0){
y=sqrt(x);
}
else{
y=(x+1)*(x+1)+2*x+1/x;
}
printf("f(%.2f) = %.2f\n",x,y);
return 0;
}
2.设计思路
- 第一步:定义两个浮点型分别代表x,y
- 第二步:利用if语句判断x所属于的范围,从而判断接下来进行的语句
- 第三步:利用数学函数进行运算
- 第四步:根据题目要求,输出保留两位小数的结果
3.本题调试过程中碰到的问题以及解决方案
- 无
4.本题PTA实验结果展示

题目2.7-4 输出三角形面积和周长
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。
三角形面积计算公式:area=√s(s−a)(s−b)(s−c) ,其中s=(a+b+c)/2。
1.本题代码
#include<stdio.h>
#include<math.h>
int main (void)
{
int a,b,c;
double area,perimeter,s;
scanf("%d%d%d",&a,&b,&c);
if((a+b>c)&&(a+c>b)&&(b+c>a)){
s=(a+b+c)/2.00;
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");
}
return 0;
}
2.设计思路
- 第一步:定义三个整型变量代表三角形的三条边,定义两个浮点型变量代表三角形的面积和周长
- 第二步:判断三条边是否可以构成三角形,从而判断接下来进行的语句
- 第三步:利用公式计算出周长和面积
- 第四步:按照题目要求保留两位小数输出结果
3.本题调试过程中碰到的问题以及解决方案
(1)答案错误
- 错误:题目要求保留两位小数,在计算面积时语句“s=(a+b+c)/2.00”,中的2没有增加小数位数导致结果输出为整数不符合题目输出答案要求。
- 解决方案:通过问同学,以及自己的多次调试,翻阅课本,找到错误点
4.本题PTA实验结果展示

题目3.7-6 出租车计价
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
1.本题代码
#include<stdio.h>
int main(void)
{
int time,C;
double mil,cost1,cost2,cost;
scanf("%lf%d",&mil,&time);
if(0 <= mil&&mil <= 3){
cost1=10;
}
else if (3<mil&&mil<=10){
cost1 = (mil-3) * 2+10;
}
else if(10<mil){
cost1=24+(mil-10)*3;
}
if(0<=time&&time<5){
cost2=0;
}
else {
cost2=(time/5)*2;
}
cost=cost1+cost2;
C=(int)(cost+0.5) ;
printf("%d",C);
return 0;
}
2.设计思路
- 第一步:定义六个变量 mil,cost1,cost2,cost; time,C分别用于存放路程,行驶时的费用,停车时的费用,总费用,四舍五入后的总费用
- 第二步:输入里程数和停留的时间
- 第三步:利用if else if语句对mil 和 time的范围进行判断接下来进行的语句,
如果mil小于3,则cost1=10,
如果mil大于3小于10,则cost1= (mil-3) * 2+10
如果mil大于10,则cost1=24+(mil-10)*3
如果time小于5,则cost2=0
如果time大于5,则cost2=(time/5)*2 - 第四步:cost=cost1+cost2
- 第五步:对cost进行四舍五入得到C
- 第六步:输出C
3.本题调试过程中碰到的问题以及解决方案
(1)部分正确
- 错误:对题目理解有误,以为“超起步里程后10公里内,每公里2元”是指行驶13公里后
- 解决方案:请教同学,理解题意
(2)答案错误
- 错误:没有使用四舍五入语句,不会使用四舍五入语句
- 解决方案:上网百度

4.本题PTA实验结果展示

题目2.7-8 程序设计联考
自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用PTA系统作为考试平台之后,联考工作得到了很多学校的认可和支持。所以,现在参与联考的学校比较多。为了便于区分考生,考生账号的第一位是学校代号。1代表Hunan Agricultural University,2代表Jishou University,3代表Huaihua University,4代表Aerospace University,5代表Ocean University。 请编写程序根据考生的账号区分考生的学校。
1.本题代码
#include<stdio.h>
int main (void)
{
int F,N;
scanf("%d",&N);
F=N/100000;
switch(F) {
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;
}
return 0;
}
2.设计思路
- 第一步:定义两个整型变量N,F分别用于储存学号和学号的首位数
- 第二步:利用整型数除以整型得到整型的原理,用N/100000得到学号的首位数即F
- 第三步:使用用switch语句,当F=1输出“Hunan Agricultural University”,
当F=2时输出“Jishou University
当F=3时输出“Huaihua University
当F=4时输出Aerospace University
当F=5时输出Ocean University - 第四步:如果都没有,就输出Other University
3.本题调试过程中碰到的问题以及解决方案
(1)switch语句使用错误

4.本题PTA实验结果展示

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

三,本周的学习总结
1.你学会了什么?
- 1,整型的输出格式控制说明%md,指定了数据的输出宽度为m(包括符号位),若输入的实际位数小于m,则左端补空格,若大于m,则按实际位数输出,实型数据的输出格式控制说明%m.nf,指定了输出浮点型数据保留n位小数。
- 2.for循环语句:for(表达式1;表达式2;表达式3)。
- 3.多分支结构else-if语句。
- 4.字符型变量在定义时用类型名char。
- 5.switch语句中如果不使用break,当表达式的值与之相匹配时,不但执行相应的语句段,还按序执行后面的所有语句段。
2.本周的内容你还不会什么?
- 1.switch语句和其他语句的配合使用,如与if语句。
- 2.不会使用dev的调试,或者说还不习惯自我调适寻找到问题。
3.你碰到什么困难,打算如何解决?
1.习惯性得漏掉&符号,直到程序运行显示无法运行时才反应过来
解决方法:在程序运行前再检查一下
2.在做到一些熟悉的题目时会找课本里的例题进行改变,如果没有看书,会漏掉一些细节导致编程错误
解决方案:增加相应题目的练习量,逐渐摆脱课本
C语言的第二次作业的更多相关文章
- C语言程序设计第二次作业--顺序结构
C语言程序设计第二次作业--顺序结构 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido ...
- C语言基础第二次作业
PTA第一次作业 题目7-1 统计学生成绩 1.实验代码 #include<stdio.h> int main(void){ ,B=,C=,D=,E=,f; scanf("%d ...
- c语言:第二次作业,循环结构
1.本章学习总结(2分) 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 循环相比分支和顺序结构难了许多,相对的来说我的c语言的基础比之前有提高,但是还是很多题想了很久也 ...
- C语言程序第二次作业
(一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 include int mian() { printf(&q ...
- C 语言学习 第二次作业总结
本次作业内容,主要有以下几点: 新建 coding 帐号,且使用 coding 上传本次作业的代码 Printf及条件判断语句的使用 作业总结 作业总结: 同学们开始渐入佳境,能够较为流畅的写出合理的 ...
- C语言程序设计第二次作业
一.学习内容 掌握关系运算符.逻辑运算符.条件运算符 掌握常用数学函数的用法 if语句(单分支,双分支和多分支) 用switch语句实现多分支 理解多个if语句,if...else if... 和if ...
- C语言程序设计第二次作业——顺序结构
(一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. 错误信息1: 错误原因:i和d位置错误 改正方法:i和d位置互换 错误信息2: 错误原因:\n后缺了一个" 改正方法:\n后加一个 ...
- C语言程序设计第二次作业—————顺序结构改
1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido.h> int mian() { ...
- C语言程序设计第二次作业1
(一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 include int mian() { printf(&q ...
随机推荐
- Http头介绍:Expires,Cache-Control,Last-Modified,ETag
缓存分很多种:服务器缓存,第三方缓存,浏览器缓存等.其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户 端,而几乎不耗费服务器端的资源. 让浏览器做缓存需要给浏览器发送指定的Http头,告诉浏览器 ...
- Python基础_函数2
在介绍完函数的大体概念如定义.传参.作用域之后,本节主要介绍函数的几个细节部分. 一. print()函数与return的区别. 相同点:print与return都是向用户在输出界面上展示结果 不同点 ...
- 没什么技术含量的Remove Before Flight
航空业有很多值得我们借鉴和学习的工作方式,将来有时间我会给大家引荐更多实例. 仔细观察每架停泊着的飞机,会发现机身很多地方都挂着细长的红布条,上面写着"REMOVE BEFORE FLIGH ...
- 【BZOJ3671】【NOI2014】随机数据生成器(贪心)
[BZOJ3671][NOI2014]随机数据生成器(贪心) 题面 BZOJ 题解 前面的模拟 真的就是语文阅读理解题目 理解清楚题目意思 然后就会发现要求的就是一个贪心 从小往大枚举,检查当前数能不 ...
- 内嵌tomcat启动速度慢
项目上最近要把内置的jetty换成tomcat, 来更好的支持servlet 3.0 本来以为换个容器, 几十行代码就好了. 实际上换了tomcat后, 一开始启动tomcat, 非常的慢. jett ...
- C++学习-10
类型转换:自动转换,显示转换,强转 总结:CPP编译的时候,从上往下,遇到不匹配,声明扩展了一个类的作用域(此时最多只能创建类的指针或者引用), 由于没有定义是不可能使用到类的成员 完 ...
- 【Demo Project】AjaxSubmit+Servlet表单文件上传和下载
一.背景 前段时间公司要求我做一个上传和下载固件的页面,以备硬件产品在线升级,现在我把这部分功能抽取出来作为一个Demo Project给大家分享. 话不多说,先看项目演示 --> 演示 源码 ...
- Unity3D判断触摸方向
据说 Temple Run(神庙逃亡) 就是用这种方式操作的 废话不多说 直接上代码 using UnityEngine; using System.Collections; public class ...
- R语言学习 第八篇:常用的数据处理函数
Basic包是R语言预装的开发包,包含了常用的数据处理函数,可以对数据进行简单地清理和转换,也可以在使用其他转换函数之前,对数据进行预处理,必须熟练掌握常用的数据处理函数,本文分享在数据处理时,经常使 ...
- redis五种基本类型CRUD操作
1.String 增:set key1 value1 改:set key1 new-value.自增 incr key1.按照特定值递增:increby key1 inrevalue 删:del ke ...