第1次作业
按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
输入格式:
输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
输出格式:
在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。
1.实验代码
#include<stdio.h> int main() { int s,l,m; double i; scanf("%d %d",&s,&l); m=s-l; i=m*100.0/l; if(i<10 || s<l) { printf("OK"); } else if(i<50) { printf("Exceed %.0f%%. Ticket 200",i); } else { printf("Exceed %.0f%%. License Revoked",i); } return 0; }
2.设计思路
(1)文字描述
第一步:定义车速b,与限速c
第二步:计算车速与限速的差值(b-c)除以限速b,得出超速度或者未超速的百分比,乘以100,得到百分比的整数位定位x
第三步:将所得的x与10与50作比较
第四步:x <10即为OK,否则即输出题目对应的英文
(2)流程图
3.本题调试过程中碰到问题及解决办法
问题:用Devc++做的时候可以正常运行但是只限于整数部分,输入其他带小数时,则不能输出
解决办法:同学说要用double型来定义x,便将float改为了double,双精度函数,精度更高
二. 循环1中题目7-1 统计学生平均成绩和及格人数
本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。
输入格式:
输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。
输出格式:
按照以下格式输出:
average = 成绩均值
count = 及格人数
1.实验代码
#include<stdio.h>
int main()
{
int count,i=1,n,grade;
double sum;
count=0;
sum=0;
scanf("%d",&n);
if(n!=0){
while(i<=n){
scanf("%d",&grade);
if(grade>=60)
count++;
sum=sum+grade;
i++;
}
printf("average = %.1f\n",sum/n);}
else
printf("average = 0.0\n");
printf("count = %d",count);
return 0;
}
2.设计思路
(1)文字描述·
第一步:定义整型变量n,count,i,grade
第二步:浮点型变量average=0,sum=sum+grade
第三步:在循环框中加入条件(grade>=60)的时候count=count+1
第四步:按要求输出变量
(2)流程图
3.本题调试过程中碰到问题及解决办法
问题:一直显示运行超时,而且把for和while用法弄混了...
解决办法:换了一个思路,分清for和while的用法。
三. 循环1中题目7-5 最佳情侣身高差
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。
下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。
输入格式:
输入第一行给出正整数N(≤),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。
输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。
1.实验代码
#include<stdio.h> int main() { int n ; char x; double height; scanf("%d",&n); int i; for(i=0;i<n;i++){ scanf(" %c %lf",&x,&height); if(x == 'M') printf("%.2f\n",height / 1.09); if(x == 'F') printf("%.2f\n",height * 1.09); } return 0; }
2.设计思路
(1)文字描述
第一步:分别定义一个字母的类型和一个数字的类型
第二步:在for循环中分别输入性别和体重
第三步:输入若为女性则根据(height * 1.09)计算最佳男性身高
第四步:输入若为男性则根据(height / 1.09)计算最佳女性身高
(2)流程图
3.本题调试过程中碰到问题及解决办法
问题:用DevC++写的时候一直编译错误,检查后发现'F'和'M'都写成了"F"和"M"
解决办法:"F"和"M"改成'F'和'M'
总结和学习进度条
1.总结:
(1)分清了for和while的用法
(2)知道了float和double的区别
2.学习进度条:
(1)表格
(2)折线图
3.评价的同学:
张学健:https://www.cnblogs.com/zxj0402/p/9977677.html