第一次作业
---恢复内容开始---
一:
pta分支结构7-10 出租车计价
(1)实验代码
#include<stdio.h> int main() { int time; double money1,x,money2,money; scanf("%lf%d",&x,&time); if(x<=3){ money1=10; } if(x<=10&&x>3){ money1=10+(x-3)*2; } if(x>10){ money1=24+(x-10)*3; } if(time>=5){ money2=(time/5)*2; } money=money1+money2; printf("%.0f",money); return 0; }
(2)设计思路
1.
第一步:判断该题中哪个变量应该被定义和因变量。
第二步:判断被定义变量的取值范围及自变量与因变量之间的关系,务必确保路程和时间对于金额的影响。
第三步:确定使用分支结构,最后汇总总共金额。
第四步:输出结果。
2.
(1)流程图
(2)错误提示
4.解决方法:切忌忽略当x0<3时也应考虑时间对于费用的影响;每种情况都要考虑出来;
二.7-3 统计素数并求和:
1.实验代码
#include<stdio.h> int main() { int i,M,N,n=0,sum=0; scanf("%d%d",&M,&N); for(i=M;i<=N;i++) { if(prime(i)) { n++; sum=sum+i; } } printf("%d %d",n,sum); return 0; }int prime(int p){ int isprime=1,i; if(p<2) { isprime=0; }else{ for(i=2;i<=(int)sqrt(p);i++) { if(p%i==0) { isprime=0; break; } } } return isprime; }
2.设计思路
(1)
第一步:确定变量记录素数个数的n和表示和值的sum,并使二者皆为零;
第二步:使用i作为循环变量,在for循环中i的初始值为M(已知M<N);
第三步:当i为素数时,n++,sum=sum+i;
第四步:如果p为素数则用1表示,当p小于2时,不是素数
第五步:循环变量初始值为2,取值最大时为p的平方根,
第六步:判断条件为除1及其本身之外不能被比起本身小的数所整除即为素数;
(2)流程图:
(3)错误截图:
4.解决方法:当输入符号时一定要注意中英文符号,和全半角,
三.
1.实验代码:
#include<stdio.h> int main() { int N,U,D,l=0,t=0; scanf("%d%d%d",&N,&U,&D); while(l<N) { t++; l=l+U; if(l>=N) { break; } l=l-D; t++; } printf("%d",t); return 0; }
2.
(1)设计思路
第一步:定义变量U,N,D;
第二步:确定使用变量l表示虫子上升高度,t表示时间,且使二者初始值为零;
第三步:使用while循环,循环条件为虫子上升高度低于深度;
第四步:进行while,先进性t++,然后虫子上升高度用l=l+U;
第五步:在循环中插入分支结构,用if判断上升高度与深度大小关系;
第六步:若了l<N,则l=l-D;
t++;直至了l>N;
第七步:输出时间;
(2)流程图:
3.错误截图
4.解决方法:
当虫子世界上升高度达到深度时,不用再去休息,即为爬出洞,将if的判断条件换到l=l-D;t++;之前即可。
四.总结和学习进度条
1.所学内容
1.分支结构中if和if ,else ,else if的使用条件及其方法;
2.当 while,do while ,for循环中的循环方式,以及当函数进行应用时的运算方式;