博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言第二次作业
阅读量:5030 次
发布时间:2019-06-12

本文共 3009 字,大约阅读时间需要 10 分钟。

一、PTA实验作业

题目1:7-1 计算分段函数[2]

1.实验代码

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

2 设计思路

  • 1、定义x,y为浮点型变量
  • 2、输入x
  • 3、如果x大于等于0,y=x的平方根,否则y=(x+1.2)的平方+2x+1/x
  • 4、输出f(x)=y的值

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

  • 此题较简单,但发生了点小错误,主要是输入语句中把“%lf”打成了“%d”,还有x前忘了加“&”,在dev调试中发现了问题并改正

    4.本题PTA提交列表

    1232226-20171024090454738-362281195.png

1232226-20171024090518926-299074367.png

题目2:7-4 输出三角形面积和周长

1.实验代码

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.0;        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、定义三角形三条边abc为整型变量
  • 2、定义area为面积,perimeter为周长,s为公式的中间量
  • 3、输入abc
  • 4、如果三条边满足任意两边之和大于第三边,则以次计算s,area,perimeter,并输出面积和周长,否则输出"These sides do not correspond to a valid triangle"

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

  • 1、s为浮点型变量,但除以2导致结果总为整数,使得后续的面积错误,在dev调试找到错误并改正
  • 2、也发生了一些小错误,比如scanf里的%d之间用逗号隔开,也是通过dev发现错误并改正的

    4.本题PTA提交列表

    1232226-20171024091548457-471191494.png

1232226-20171024091601254-471807420.png

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

1.实验代码

double distance;      int time;      double fare = 0;      scanf("%lf%d", &distance, &time);      if(time >= 5)          fare = (time / 5) * 2;      if(distance <= 3) {          fare =fare+ 10;           }      else if(distance > 10)                      fare =fare+ 10 + 7 * 2 + (distance - 10) * 3;          else if(distance<10 && distance >=3)             fare=fare+ 10 + (distance - 3) * 2;          else {          fare =fare+ 10 + 7 * 2 + (distance - 10) * 3;      }      printf("%d\n", (int)(fare + 0.5));

2 设计思路

  • 1、定义distance为行驶里程,time为等待时间,fare为费用
  • 2、输入行驶里程和等待时间
  • 3、如果时间>=5,fare = (time / 5) * 2
  • 4、如果里程数小于等于3,fare =fare+ 10;如果里程数大于10, fare =fare+ 10 + 7 * 2 + (distance - 10) * 3,如果里程数大于等于3小于10fare=fare+ 10 + (distance - 3) * 2:非以上情况则 fare =fare+ 10 10+ 7 * 2 + (distance - 10) * 3
  • 5、输出fare并进行四舍五入

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

  • 1、刚开始不知道怎么四舍五入,通过百度知道了四舍五入的代码
  • 2、刚开始10公里以上的答案是错误的,通过Dev的调试后解决了问题
  • 3、还有一些编译的小错误,通过Dev都成功解决了

    4.本题PTA提交列表

    1232226-20171024181216973-429273358.png

1232226-20171024181227004-129172213.png

题目4:7-8 程序设计联考

1.实验代码

int account,first;  scanf ("%6d",&account);  first=account/100000;  switch (first) {    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为考生账号,first为账号第一位
  • 2、输入账号
  • 3、通过first=account/100000求得第一位
  • 4、输入第一位,如果第一位为1,输出Hunan Agricultural University;如果第一位为2,输出Jishou University;如果第一位为3,输出Huaihua University;如果第一位为4,输出Aerospace University;如果第一位为5,输出Ocean University;若不是以上数字,则输出Other University

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

  • 1、第一次漏了一个分号导致编译错误
  • 2、题目other university没有间隔,答案有间隔,向同学请教才成功解答出来

    4.本题PTA提交列表1232226-20171024182046613-94079489.png

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

    1232226-20171024182230707-854319215.png

    三、本周学习总结

    1.你学会了什么?

  • 1、学会了if-else语句及其嵌套形式的用法
  • 2、学会了switch语句用法
  • 3、学会了四舍五入的语法
  • 4、学会了Dev的调试

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

  • 1、对于scanf语句,老是忘记加“&”,这一点要多加注意
  • 2、除此之外,一些小失误很多,要想办法解决小失误的发生

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

    第一选择是通过Dev调试,如果不行就百度或者问同学,但不论如何,重要的是要理解代码的含义并学会它’

转载于:https://www.cnblogs.com/wyb123/p/7721885.html

你可能感兴趣的文章
系统管理玩玩Windows Azure
查看>>
c#匿名方法
查看>>
如何判断链表是否有环
查看>>
【小程序】缓存
查看>>
ssh无密码登陆屌丝指南
查看>>
MySQL锁之三:MySQL的共享锁与排它锁编码演示
查看>>
docker常用命令详解
查看>>
jQuery技巧大放送
查看>>
字符串转换成JSON的三种方式
查看>>
Hive时间函数笔记
查看>>
clojure-emacs-autocomplete
查看>>
一个自己写的判断2个相同对象的属性值差异的工具类
查看>>
10 华电内部文档搜索系统 search03
查看>>
[HIHO1149]回文字符序列(dp)
查看>>
[HDU1402]A * B Problem Plus(FFT)
查看>>
[CF803C] Maximal GCD(gcd,贪心,构造)
查看>>
逆时针旋转的矩阵变换
查看>>
第10周15/16/17
查看>>
【数据库】SQL两表之间:根据一个表的字段更新另一个表的字段
查看>>
四六级作文常见错误解析(转载)
查看>>