第一次作业
一.计算机18秋_分支结构 7-9 高速公路超速处罚
1.实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int a, b, c; 5 double d; //定义车速(a),限速(b),车速与限速差值(c),超速百分比(d) 6 scanf("%d%d",&a,&b); //读取两个整数分别为超速和限速 7 c = a - b; //计算超速与限速的差值 8 d = c*100.0/b; //计算超速百分比 9 if (d<10 || a<b) 10 { 11 printf ("OK\n"); 12 } //如果超速百分比小于10%或车速小于限速,输出OK 13 else if (d<50) 14 { 15 printf ("Exceed %.lf%%. Ticket 200\n",d); 16 } //如果超速且超速百分比小于50%,输出超速百分比和罚款金额 17 else 18 { 19 printf ("Exceed %.lf%%. License Revoked\n",d); 20 } //如果超速百分比超过50%,输出超速百分比和吊销驾照 21 return 0; 22 }
2.设计思路
(1)文字描述
第一步:定义四个变量分别为车速(a),限速(b),车速与限速差值(c),超速百分比(d)。
第二步:读取输入的超速和限速的数值,并且计算出超速百分比。(c = a - b; d = c*100.0/b;)
第三步:判断如果超速百分比小于10%或车速小于限速,则属于正常行驶(if (d<10 || a<b))
第四步:如果超速百分比大于10%且小于50%,则属于超速行驶
第五步:如果超速百分比大于50%,则应该吊销驾照
(2)流程图
3.本题调试过程碰到问题及解决办法
(1)错误提示
(2)问题及解决方法
问题:运算过程中未保留小数导致运算结果出错,输出的超速百分比错误。
解决方法:通过百度查找到,把 d = c*100/b;改为 d = c*100.0/b;,在100后面加 .0之后会在运算过程中会暂时保留小数
二.计算机18秋_循环1 7-1 统计学生平均成绩与及格人数
1.实验代码
#include<stdio.h>
int main()
{
int n,i,a,count=0,sum=0; //输入的数据数(n)循环变量(i)计数和成绩和初始值赋值为0(count=0,sum=0)
double average; //定义平均值
scanf("%d",&n); //读取输入的数据数
if(n==0)
{
printf("average = 0.0\n");
printf("count = 0");
} //n为0时输出平均成绩和及格人数为0
else
{
for(i=0;i<n;i++) //n不为0时执行循环
{
scanf("%d",&a);
sum = sum + a; //计算成绩总和
if (a>=60)
count++; //计算及格人数
}
average =1.0* sum / n; //计算平均成绩
printf("average = %.1f\n",average);
printf("count = %d\n",count);
} //输出平均成绩和及格人数
return 0;
}
2.设计思路
(1)文字描述
第一步:输入的数据数(n)循环变量(i)计数和成绩和初始值赋值为0(count=0,sum=0)。
第二步:读取输入的数据。
第三步:判断如果输入的数据为0则输出平均成绩和及格人数为0.
第四步:如果输入的数据大于0则执行循环计算平均成绩和及格人数
第五步:输出平均成绩和及格人数
(2).流程图
3.本题调试过程碰到问题及解决办法
(1)错误提示
(2)问题及解决方法
问题:没考虑输入的数据为0的情况
解决方法:经过多次的改进编译发现问题并且加了一个判断,如果输入数据为0则输出数据也为0
三. 计算机18秋-循环2 7-7 寻找250
1.实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int a, i = 1; //输入数据(a)和计数(i)并且把i赋值为1 5 while(1){ 6 scanf("%d",&a); 7 if(a != 250){ 8 i = i + 1; //执行循环读取输入数据如果a不等于250则计数i+1,否则结束循环 9 }else{ 10 break; 11 } 12 } 13 printf("%d",i); //输出结果 14 return 0; 15 }
2 设计思路
(1)文字描述
第一步:输入数据a,i
第二步:执行循环读取输入数据
第三步:如果a不等于250则计数i+1,否则结束循环
第四步:输出结果
(2)流程图
3.本题调试过程碰到问题及解决办法
(1)错误提示
(2)问题及解决方法
问题:用错变量导致编译错误
解决方法:根据编译的提示改正,把&n改为&a
总结:
四. 所学内容
1.学会了编写程序,实现简单的数据处理
2.知道了基本的数据类型
3.学会了如何使用if语句和for语句
4.学会了使用循环嵌套结构
5知道了do-while语句和while语句的不同
遇到的问题
对各种语句使用不熟练,
编写程序的思路不清晰需要反复的修改完善,
编写程序的正确率低
解决方法
平时需要多练习增加对各种语句的熟练程度
解决问题时需要认真的思考整理出清晰的思路
需要更多的阅读相关的材料,增强对所学知识的理解
五. 点评
表格
代码行数 | 代码时间 | 博客字数 | 博客时间 | 设计知识点 | |
第十周 | 2700 | 12 | 0 | 0 | 分支机构 |
第十一周 | 3000 | 14 | 0 | 0 | 循环语句 |
第十二周 | 3000 | 15 | 0 | 0 | 循环结构 |
第十三周 | 2800 | 13 | 1000 | 5 | 循环和函数 |