添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

2.设计思路
(1)第一步 先通读题目了解要打的代码的意思,y为分段函数,共有两部分,x,y均为浮点数
第二步 打出基本框架
第三步 用if-else区分y在x不同的范围内的数值
第四步 初始化定义变量浮点数x,y
第五步 运用if ,else分别定义x等于0及不等于0时y的数值
第六步 最后输出相关变量
(2)流程图(我觉得流程图一般都没有文字说明,看书上的例子除了不能用式子表示的都没有文字,作业中的例子也是如此。)

3.本题遇到的困难及解决方法
遇到的困难:开始只定义了一个浮点数值,也没有给给出输出值的相关算法就直接输出了,编译时在细节上也出了问题,浮点%f打成了%d



解决方法:通过请教会的同学,理解每个步骤的意义,自己对比,反复琢磨
4.运行结果

2.题目二A除以B

1.实验代码

#include<stdio.h>
int main()
  int A,B;
  double C;
  scanf("%d %d", &A, &B);
  C = (double)A / B;
  if (B > 0)
    printf("%d/%d=%.2f",A,B,C);
  if (B < 0)
    printf("%d/(%d)=%.2f",A,B,C);
  if (B == 0)
    printf("%d/%d=Error",A,B);
  return 0;

2.设计思路
(1)第一步 理解题目 ,知道A/B需要输出三种情况 ,B>0,B<0及B=0
第二步 输出结果需保留两位小数,输入的A,B值均为整数,因此定义两个整数和一个浮点数A,B和C
第三步 打出基本框架
第四步 根据要求定义用if分别写出三种不同情况,输出数值C的算法
第五步 依次输出结果
(2)流程图

3.本题遇到的困难及解决方法
遇到的困难:先定义c的算法,后初始化了,初始化时忘记打&,浮点运用错误。定义c的算法时没打double
解决的方案:流程及编译问题通过自己的观察解决,定义c的算法时打double请教了同学,开始并不知道需要打




4.运行结果


3.题目六阶梯电价

1.实验代码

#include<stdio.h>
int main()
  int a;
  float b;
  scanf("%d%.2f",&a,&b);
  if(a<=50&&a>0){
  b=0.53*a;
  printf("cost = %.2f",b);}
  else if(a>50){
  b=26.5+(a-50)*0.58;
  printf("cost = %.2f",b);}
  printf("Invalid Value!");
  return 0;

2.设计思路
(1)第一步 理解题目,阶梯电价分三种情况,需赋两个数值,用电量及应付费用
第二步 打出基本的框架
第三步 定义用电量为整数,应付费用为浮点数
第四步 根据要求,运用if -else依次定义在给定范围内所需缴纳的电费的算法
第五步 输出每步的结果,注意浮点数的输出
(2)流程图

3.本题遇到的困难及解决方法
本道题是我7道题中唯一一个一遍对的,在pta中显示正确,c++中编译也无错误,但是运行不出结果

4.题目七出租车计价

1.实验代码

#include <stdio.h>
int main()
  int a;
  float b,c;
  scanf("%f %d",&b,&a);
  if(b<=3&&a<5)
  c=10;
  else if(b<=3&&a>=5)
  c=10+a/5*2;
  else if(b>3&&b<=10&&a<5)
  c=(b-3)*2+10;
  else if(b>3&&b<=10&&a>=5)
  c=(b-3)*2+10+a/5*2;
  else if(b>10&&a<5)
  c=24+(b-10)*3;
  else if(b>10&&a>=5)
  c=24+(b-10)*3+a/5*2;
  printf("%.0f",c);
  return 0;

2.设计思路
(1)第一步 阅读题目了解到计程车计费在没有停车或停车时间不超过五分钟有三种情况,加之路上有停车共有六种情况
第二步 需要定义三种变量,所行路程,停车时间,应费用定义整数a,浮点数b,c
第三步定义整数a行驶路程,浮点数b停车时间,c应付费用
第四步 运用if,else if定义出不同范围下所花的车费,给出计算车费的公式
第五步 整体输出c值
(2)流程图

3.遇到的困难及解决方法
遇到的困难:编译细节上出了点问题,对于数值的定义有些模糊,本来应该定义成浮点数,却定义成整数了,对题意的理解不透,在b c同时有条件限制时中间用了“,”,应该用“&”,我开始打的是依次输出,不如整体输出方便,也容易犯错,输出的浮点也写错。
解决的方法:自己在检查出一些错误后,让同学帮助检查,将所有的错误改正

4.运行结果


【2】pta提交列表



【3】git地址及截图
https://git.coding.net/sunna1/text.git

【4】总结、互评和学习进度
1.总结
(1)学习内容:本周主要学了算数运算顺序,%取余,float,double浮点数的运用,最主要学习了if-else的运用,在课上进行了大量的练习,本周的pta作业也以if-else为主
(2)遇到的困难:If-else的练习也不少了,大部分都大同小异,但在遇到新颖一点的题型时有的还是有些转不过来,在细节上的处理也不好,在编译时总会出现大大小小的错误,不够严谨。
(3)解决方案:天道酬勤吧,自己还是要勤加练习,要用心细心。最重要的是将每个步骤的意思弄懂,不会多查查,多看看。
2.点评作业
马雨欣:http://www.cnblogs.com/mayuxin/p/7735130.html
孙美玲:http://www.cnblogs.com/sunmeiling/p/7745182.html
何宗彦:http://www.cnblogs.com/hezongyan/p/7726382.html
3.表格及折线图


ps:评论的同学多数都提到了解决的方法写的不详细,但我并未进行整改。是因为对有些概念性的东西不太能叫得准,理解的不够透彻,导致有些错误不知所因。每次打完代码只知道错了就该过来,并没有究其根本,这是非常不对的。在接下来的学习中我会避免此类事情,追根溯源,将知识掌握扎实。本周的作业想整改,可能还需要点时间。

【1】题目一计算分段函数[1]1.实验代码#include&amp;lt;stdio.h&amp;gt;int main(){ float x,y; scanf (&quot;%f&quot;,&amp;amp;x); if (x!=0) y=1/x; else y=0; printf(&quot;f(%.1f) = %.1f\n&quot;,x,y); return 0;}2.设计思路(1)第一步...
浙大版《C语言程序设计(第3版)》题目集练习2-11 计算分段函数[2] (10 分)二、题解c代码 练习2-11 计算分段函数[2] (10 分) 本题目要求计算下列分段函数f(x)的值: f(x)={x0.5(x >= 0)(x+1)2+2x+1x(x < 0)f(x)= \begin{cases} x^{0.5}& \text{(x >= 0)}\\ (x+1)^{2}+2x+\frac{1}{x}& \text{(x &lt
本文通过一个分段函数讲解 多分支if语句 与 多个 if 语句 的区别 相关文章:C语言:if、if...else、if...else if ...else、if...if...if 语句的区别 方法一:使用多个if对x的范围进行判断 #include<stdio.h> #include<math.h> int main () double x,y; //使用多个if对x的范围进行判断 scanf("%lf",&x); Description:按下式计算y值,x值由键盘输入。(x,y均为float类型) Input:输入仅一行,输入一个数值。 Output:输出仅一行,输出相应的数据值(小数点后保留2位有效位)或no definition(两单词中间有一空格)。 Sample Input:1 Sample Output:y=0.84 //分段函数 根据输入的n组测试数据,对应输出n个输出结果,每个输出结果单独占一行,即每个输出结果后要加换行符。 #include &amp;lt;math.h&amp;gt; int main() int n; double x,y; scanf(&quot;%d&quot;,&amp;amp;n); 输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。 输出格式: 在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商应保留小数点后2位。 输入样例1: 输出样例1: -1/2=-0.50 输入样例2: 输出样例2: 1/(-3)=-0.33 输入样例3: