题目7-1 高速公路超速处罚
1.实验代码
#include <stdio.h> int main (){ int a,b; float c; scanf("%d %d",&a,&b); c=(a-b)*100.0/b; if(c<10) printf("OK"); else if(c<50) printf("Exceed %.0f%%. Ticket 200",c); else printf("Exceed %.0f%%. License Revoked",c); return 0;}
2 设计思路
(1)
第一步:定义三个变量车速 限速 车速超出限速的百分比。
第二步:输入车速和限速 并计算出 车速超出限速的百分比。
第三步:利用算出的百分比进行判断。第四步:如果百分比小于10那就输出OK,如果大于10小于50就输出百分比并需交200元钱,如果大于50就输出吊销驾驶证。
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图:
遇到的问题以及解决方法:
scanf所输出的变脸前边没有加“&”,并且百分比一直输出不出来。
最后加上了& 然后定义一个float型的变量c 将计算出来的百分比赋值给c 最后成功
4.本题PTA提交列表
本题出现的错误多数为无法输出百分比
题目7-2 计算油费
1.实验代码
#include <stdio.h> int main() { float a,cost; int b; char c; scanf("%f %d %c",&a,&b,&c); if (c==‘m‘){ switch(b){ case 90:cost=a*6.95*0.95;break; case 93:cost=a*7.44*0.95;break; case 97:cost=a*7.93*0.95;break; } printf("%0.2f",cost); } else if (c==‘e‘){ switch(b){ case 90:cost =a*6.95*0.97;break; case 93:cost =a*7.44*0.97;break; case 97:cost =a*7.93*0.97;break; } printf("%0.2f",cost); } return 0; }
2 设计思路
(1)
第一步:定义油量a和油的种类b和服务方式c和花费cost
第二步:当服务类型为m时如果种类为90号花费cost=a*6.95*0.95,如果种类为93号花费cost=a*7.44*0.95,如果种类为97号花费cost=a*7.93*0.95.
第三步:当服务类型为e时如果种类为90号花费cost=a*6.95*0.97,如果种类为93号花费cost=a*7.44*0.97,如果种类为97号花费cost=a*7.93*0.97.
第四步:输出花费cost
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图。
遇到的问题以及解决方法
遇到的问题是当b为90c为e时结果错误 解决办法是重新定义变量将cost从float变成double
4.本题PTA提交列表
本题错误在于所定义的花费cost不正确
题目7-3 比较大小
1.实验代码
#include <stdio.h>int main(){ int a,b,c,d; scanf("%d %d %d",&a,&b,&c); if (a>b){ d=a; a=b; b=d;} if (a>c){ d=a; a=c; c=d;} if (b>c){ d=b; b=c; c=d;} printf("%d->%d->%d",a,b,c); return 0; }
2 设计思路
(1)
第一步:定义四个变量。
第二步:先比较a与b和c的大小关系,如果a>b将a赋值给d,将b赋值给a,将d赋值给b,如果a>c将a赋值给d,将c赋值给a,将d赋值给c。
第三步:比较b与c的大小关系,如果b>c将b赋值给b,将c赋值给b,将d赋值给c。
第四步:输出大小关系
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图:
遇到的问题以及解决方法:遇到问题是没有读清输出格式的要求,错误的认为是大的在前小的在后,导致编程错误,解决办法询问同学发现输出格式应该是让小的在前。
4.本题PTA提交列表
本题出现的错误是输出格式没弄懂导致编程错误
题目7-4 两个数的简单计算器
1.实验代码
#include <stdio.h>
int main(){
int a,b;
char c;
scanf("%d %c %d",&a,&c,&b);
switch (c)
{ case ‘+‘:printf("%d",a+b);break;
case ‘-‘:printf("%d",a-b);break;
case ‘*‘:printf("%d",a*b);break;
case ‘/‘:printf("%d",a/b);break;
case ‘%‘:printf("%d",a%b);break;
default :printf("ERROR");break;}
return 0;
}
2 设计思路
(1)
第一步:定义两个数和符号。
第二步:编写当符号分别为“+”,“-”,“*”,“/”,“%”时所进行的运算并且输出。
第三步:当符号为其他符号是输出ERROR 。
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图:
遇到的问题以及解决方法:问题是忘记给case后边的符号加上单引号了 , 解决办法 检查了几次并询问了同学。
4.本题PTA提交列表
本题出现的错误是没有给符号加上单引号
##上传成功后coding.net项目的截图:
##git地址访:https://git.coding.net/liuzehua123/lzhjisuanji.git
学习的知识点:新的循环结构,我的收获是学会了在编程中如何循环进行计算。
我觉得难点是 需要背很多结构的需要的单词和格式,没有知识点不明白。
对老师上课形式没有意见。
点评同学的博客地址:
(1):http://www.cnblogs.com/shupeng521/
(2): http://www.cnblogs.com/100200a/
(3):http://www.cnblogs.com/z024108/
##表格和折线图