码迷,mamicode.com
首页 > 其他好文 > 详细

第六周作业

时间:2017-11-08 00:49:49      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:float   符号   注意事项   oat   百分比   答案   include   ref   等等   

  • 要求二

题目7-1 高速公路超速处罚

1.实验代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int car,x;
 5     float percent;
 6     char ch=%;
 7     scanf("%d %d",&car,&x);
 8     if(car<0||x<=0)printf("the input is error");
 9     else if(car<x*1.1f)printf("OK");
10     else if(car<x*1.5f){
11              percent=(car-x)*100.0f/x;
12              printf("Exceed %.0f%c. Ticket 200",percent,ch);}
13     else{
14          percent=(car-x)*100.0f/x;
15          printf("Exceed %.0f%c. License Revoked",percent,ch);}
16     return 0;
17 }

2.设计思路

(1)主思路

  • 第一步:定义整数型变量car(车速)、x(限速),浮点数变量percent(超速百分比)和字符型定量ch(‘%’);
  • 第二步:用scanf函数读入整数给car和x;
  • 第三步:用if elseif else函数结构先判断输入是否符合范围,再判断超速与否;
  • 第四步:其中若超速则判断范围并计算所对应的超速百分比并用printf函数输出百分比(后跟‘%’字符定量)和相应的超速结果语句。

注解:本题细节问题要注意整数与浮点数的转换和超速范围的开闭区间。

(2)流程图

技术分享

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

printf函数中的%显示不出来导致PTA部分错误。

技术分享技术分享

解决办法就是定义一个字符型定量ch=‘%’代替printf函数中原本的%符号。

4.本题PTA提交列表

技术分享

部分错误即为上述遇到的问题。

 

题目7-2 计算油费

1.实验代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,b;
 5     char c;
 6     double money;
 7     scanf("%d %d %c",&a,&b,&c);
 8     switch(b)
 9     {        case 90:money=6.95*a;break;
10              case 93:money=7.44*a;break;
11              case 97:money=7.93*a;break;
12     }
13     if(c==m)
14        money=money*0.95;
15     else
16        money=money*0.97;
17     printf("%.2lf",money);
18     return 0;
19 }

2.设计思路

(1)主思路

  • 第一步 :定义整数型变量a(加油量)、b(汽油品种),字符型变量c(服务类型)和浮点数变量money(应付款额);
  • 第二步:用scanf函数读入整数给a和b,读入字符给c;
  • 第三步:用switch语句以b的不同情况运行获得相应种类汽油和油量的费用;
  • 第四步:用if-else语句对c进行类型的判断并计算出对应折扣后的费用;
  • 第五步:用printf函数输出最终结果money。

注解:本题细节问题要注意整数与浮点数的转换和结果应保留两位小数。

(2)流程图

 技术分享

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

用if函数判断字符变量时没有用单引号括中,导致编程错误。

技术分享技术分享

解决办法就是用单引号括中m,即技术分享

4.本题PTA提交列表

技术分享

第一个部分正确是由于浮点型变量用的float定义导致错误;

第二个部分正确是修改时程序时粗心顺手删掉了if函数中的符号导致错误。

 

题目7-3 比较大小

1.实验代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,b,c,x;
 5     scanf("%d %d %d",&a,&b,&c);
 6     if(a<b){
 7             x=a;
 8             a=b;
 9             b=x;}
10     if(a<c){
11             x=a;
12             a=c;
13             c=x;}
14     if(b<c){
15             x=b;
16             b=c;
17             c=x;}
18     printf("%d->%d->%d",c,b,a);
19     return 0;
20 }

2.设计思路

(1)主思路

  • 第一步:定义整数型变量a,b,c(三个比较大小的数字)和x(赋值过程中间变量);
  • 第二步:用scanf函数读入整数给a,b,c;
  • 第三步:用三个if函数分别判断每两个数字的大小,再根据需要中途以x为中间变量进行赋值交换数字,最终使a,b,c大小呈依次递增;
  • 第四步:用printf函数按照题目要求格式输出即可。

注解:重点在于三个数字分别比较大小并按预定结果进行赋值交换,以及最终结果其间以“->”相连。

(2)流程图

技术分享

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

 本题为课堂练习固没有错误,但是在具体编程进行数字交换时比较容易弄混。

4.本题PTA提交列表

技术分享

 

题目7-4 两个数的简单计算器

1.实验代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,b;
 5     char ch;
 6     scanf("%d %c %d",&a,&ch,&b);
 7     switch(ch){
 8         case +:printf("%d",a+b);break;
 9         case -:printf("%d",a-b);break;
10         case *:printf("%d",a*b);break;
11         case /:printf("%d",a/b);break;
12         case %:printf("%d",a%b);break;
13         default:printf("ERROR");}
14     return 0;
15 }

2.设计思路

(1)主思路

  • 第一步:定义整数型变量a,b(题目所要求的两个整数)和字符型变量ch(用于switch循环);
  • 第二步:用scanf函数读入整数给a,b和读入字符给ch;
  • 第三步:用switch语句以ch的不同情况进行对应的代数运算并用printf函数输出结果,其中存在其他字符另输出“ERROR”。

注解:本题主要注意switch语句的格式规范以及输入输出的格式。

(2)流程图

 技术分享

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

scanf函数读入格式用“,”间隔技术分享导致PTA错误。

技术分享

 将格式按题目要求改为空格间隔技术分享即可。

4.本题PTA提交列表

技术分享

答案错误为scanf函数中忘记打入&符号导致错误;

部分正确为上述错误(即scanf函数读入用“,”间隔)。

 

  • 要求三

上传成功后coding.net项目的截图

技术分享

技术分享

Git地址:https://git.coding.net/cyq1076926262/NO.4.git

 

  • 要求四

个人总结

(1)本周所学内容或收获:

①巩固了switch循环语句的用法并规范其流程图画法(附课本例图);

技术分享

②学习了while循环语句及do while结构;

③自学了for语句的用法;

④自学了pow函数的用法(用于C题库第8题,以下百度搜索注意事项)。

技术分享

(2)本周做学难点与不明白的知识点

我认为的难点:

①循环语句的运用;

②面对较复杂题目编程时如何精简逻辑。

不明白知识点:

没有未明白的知识点,只是新学习的循环语句还未熟练使用。

(3)对目前老师的上课形式有什么意见或建议:

希望将来专业课程的学习能更加注重编程问题。相比于花费更多时间做博客,我更愿意平衡一下时间去做C题库,因为通过本周C题库的做题,我更愿意也更有动力为了解题去学习新的语法、函数等等。当然关于博客的流程图我觉得还是挺有意义的,很有助于整理思路,无论是题前题后。

 

  • 要求五

1.点评作业

何宗彦http://www.cnblogs.com/hezongyan/)(1、14楼)

胡俊鲜http://www.cnblogs.com/123456hjx/)(3楼)

陈盈驰http://www.cnblogs.com/1999-cyc/)(1楼)

2.学习进度条(11/5 8:00~11/8 8:00)

 技术分享

技术分享技术分享

第六周作业

标签:float   符号   注意事项   oat   百分比   答案   include   ref   等等   

原文地址:http://www.cnblogs.com/cyq66992152/p/7789995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!