第1次作业,
---恢复内容开始---
一:分支结构7-7计算火车运行时间
1:代码
1 #include<stdio.h> 2 int main() 3 { 4 int t1,t2,t,h,m; 5 scanf("%d %d",&t1,&t2); 6 t=(t2/100-t1/100)*60+(t2%100-t1%100); 7 h=t/60; 8 m=t%60; 9 printf("%2d:%2d",h,m); 10 return 0; 11 12 }
2:设计思路
(1)题目算法:
第一步:输入出发时间、到达时间;
第二步:算出两时间点中间隔时间(分钟);
第三步:将间隔时间(分钟)转换为“小时:分钟”格式;
第四步:输出结果;
(2)流程图
3:问题及解决办法
(1)问题:结果为个位数时输出不能借位,如输出位“3:6”,而不是“03:06”格式
(2)解决办法“将输出语句中的输出内容改为“%2d:%2d”
二:循环结构1,7-1统计学生平均成绩及及格人数
1:代码:
#include<stdio.h> int main() { int n,i,m,count=0,sum=0; float average; scanf("%d",&n); if(n==0) { printf("average = 0.0\ncount = 0"); } else { for(i=1;i<=n;i++) { scanf("%d",&m); if(m>=60) { count++; } sum=sum+m; } average=(float)sum/(float)n; printf("average = %.1f\ncount = %d",average,count); }
return 0; }
2:设计思路:
(1)算法:
第一步:输入学生人数n;
第二步:判断n是否为0;
第三步:若n=0:输出结果,结束运行;
若不等于0,浸入循环,输入学生分数,同时算出分数和,及格人数;
第四步:算出平均分;
第五步:输出结果;
(2)流程图:
3:问题及解决办法:
(1)问题:
忽略学生数n=0的情况;
(2)解决办法:
在输入语句后进行补充,加上代码
if(n==0) { printf("average = 0.0\ncount = 0"); } else
三:循环2,7-7寻找250
1:代码
#include<stdio.h> int main() { int sum,i=1,n; for(n=1;;n++) { scanf("%d",&sum); if(sum==250) { break; } i=i+1; } printf("%d",i); return 0; }
2:设计思路:
(1)算法:
第一步:定义变量初始值,i=1;
第二步:输入整数sum,判断sum是否风雨250;
若sum=250,输出i,程序结束运行;
若sum不等于250,i=i+1,循环此句;
第三步:输出结果;
(2)流程图
3问题及解决办法:
(1)问题
语句“i=i+1;”输入过早,诉所有运算结果比正确值大一;
(2)解决方案:
将该语句移到if语句后。
三总结:
1:所学内容、遇到问题及解决办法:
(1)所学内容:通过这些时间对c语言的不断学习,渐渐地对c语言开始有一些了解。学习了“hello world”;学习了判断语句“if、while”、“if、else if···”,知晓了他们各自的用法;学习了循环语句“for”、“while”、“do()、while”,知道了它们各自的不同及各自的用法;还学习了函数,进行了初步实践运用。
(2)遇到问题及解决办法:
问题: 对所学内容不能熟练地进行运用;做某些题的时候总是想不出合理的算法思路或者思路有偏差;而且在编程的过程中总是会出一些小错误。总感觉自己对所学知识掌握的不好、编程能力太差,心里总会惶恐不安。
解决办法:多做pta上面的题,对所学知识进行巩固,去提升自己的编程能力;多看一下对于同一道题老师与同学写的代码,在与自己写的进行对比,看思路上的差异,不断进行借鉴学习;遇到不懂不会的问题多向同学或者老师咨询,这样不仅可以将题攻克,学到很多编程经验。
2:点评
点评梁德辉同学作业:梁德辉同学的作业内容充实,语言描述特别清晰,值得学习
评价苏欣同学作业:苏欣同学的作业的思路特别清晰,反思问题特别具体而且语言平实,相信你会越来越厉害
评价王文琪同学作业:王文琪同学的作业条理清晰,总结、反思精确具体,流程图也有让人有种眼前一新的感觉,优秀
表格:
折线图: