一,pta:
1.7-1:
#include<stdio.h> int main() { float a,b,c; scanf("%f %f",&a,&b); c=(a-b)/b*100; if(c>=50){ printf("Exceed %.0f%%. License Revoked",c); } else if (c>10){ printf("Exceed %.0f%%. Ticket 200",c); } else{ printf("OK"); } }
设计思路
第一步:因为要计算超速范围所以选择用float型输入,之后输入限速和速度的值,并且计算超出百分数。
第二步:用if语句判断超出多少,并且输出相对应的语句。
遇到问题
输出%问题,应该同时输入两个%%才能在printf中输出%。
运行结果
2.7-2
实验代码
#include<stdio.h> int main() { int a,b; char c; double d,p1,p2; d=0; scanf("%d %d %c",&a,&b,&c); switch(b) { case 90:p1=6.95;break; case 93:p1=7.44;break; case 97:p1=7.93;break; } switch(c) { case 'm':p2=0.95;break; case 'e':p2=0.97;break; } d=p1*p2*a; printf("%.2f",d); return 0; }
设计思路
第一步,输入加油量a,汽油品种b(90、93或97)和服务类型c分别用int,int,char输入,并且用double类型输入品种,折扣,总价。
第二步,用两个switch语句分别判断汽油型号所对应的价钱,和折扣。
第三步,算出总价钱并输出。
遇到的问题
这题是看到了群里有人讨论这道题,直接采用float型,剩下的问题不大。
运行结果
3.7-3
#include<stdio.h>
int main()
{
int x,y,z,t;
scanf("%d %d %d",&x,&y,&z);
if (x>y)
{
t=x;x=y;y=t;
}
if(x>z)
{
t=z;z=x;x=t;
}
if(y>z)
{
t=y;y=z;z=t;
}
printf("%d->%d->%d
",x,y,z);
}
设计思路
第一步,输入三个数a,b,c和中间变量t。
第二步,进行判断如果x>y那么把xy值互换,经过三次比较,会将3个整数从小到大依次赋给x,y,z。
遇到问题
在做这道题的时候考虑到要画流程图就想了 这个运行方式,感觉运行上没什么大问题。
运行结果
4.7-4
#include<stdio.h> int main() { int a,b; char x; scanf("%d %c %d",&a,&x,&b); switch(x){ 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"); } }
设计思路
第一步,输入除数,被除数和运算符号。
第二步,运用switch语句根据运算符号进行不同运算。
遇到的问题
审题时没看到求余数错误了一下,剩下的还好。
运行结果
二。Git
https://git.coding.net/DavidPark/123.git
三.学习总结
本周学习了while,do-while,for语句。
for语句着实有些难理解,应该多加练习强化。
老师上课形式很好,上课时跟着练习很有效果。
时间 |
代码行数 |
时间(min) |
博客字数 |
博客时间min |
知识点 |
11.5 |
200 |
120 |
0 |
0 |
Switch |
11.6 |
210 |
90 |
100 |
60 |
While |
11.7 |
110 |
90 |
100 |
30 |
Do-while |
11.8 |
120 |
70 |
50 |
10 |
For |
11.9 |
100 |
60 |
50 |
10 |
Pta |
11.10 |
100 |
50 |
50 |
10 |
Pta |
11.11 |
150 |
60 |
50 |
10 |
复习 |
四.作业互评
高立彬:http://www.cnblogs.com/gao628526/p/7801191.html