第一次作业

一.  分支结构中题目7-10 出租车计价

  1.实验代码

#include <stdio.h>
int main() 
{
	int time;//定义一个整数值time
	double fare,distance;//定义两个浮点数
	scanf("%lf%d", &distance, &time);//输入距离和时间
	if(time >= 5)
		fare = (time / 5) * 2;//营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)
	if(distance <= 3) {
		fare = 10 + fare;//起步里程为3公里,起步费10元,再加上临时停车的费用
     }
	else if(distance <= 10) {
		fare = 10 + (distance - 3) * 2 + fare;//超起步里程后10公里内,每公里2元,再加上临时停车的费用
	}
	else if(distance > 10){
			fare = 10 + 7 * 2 + (distance - 10) * 3 + fare;//超过10公里以上的部分加收50%的回空补贴费,即每公里3元,同样加上临时停车的费用
	}
	printf("%d\n", (int)(fare + 0.5));//输出计算结果(结果四舍五入)
	return 0;
} 

  2.设计思路

  (1)文字描述

      第一步:先定义时间,金钱和距离

      第二步:营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)(fare = (time / 5) * 2)

      第三步:起步里程为3公里,起步费10元,再加上临时停车的费用(fare = 10 + fare)

      第四步:超起步里程后10公里内,每公里2元,再加上临时停车的费用(fare = 10 + (distance - 3) * 2 + fare)

      第五步:超过10公里以上的部分加收50%的回空补贴费,即每公里3元,同样加上临时停车的费用(fare = 10 + 7 * 2 + (distance - 10) * 3 + fare)

         第六步:最后输出计算结果(结果四舍五入)(fare + 0.5)

  (2)流程图

  3.错误提示

  (1)最开始没有每一步都加上临时停车的费用

  (2)不知道怎么四舍五入

  4.解决方法

  (1)在最前计算临时停车的费用,并在以后的每次计算中都加上临时停车的费用

  (2)百度了一下,在所得结果上加上0.5就会在输出的整数上达到四舍五入的结果

二. 循环1中题目7-3 统计素数并求和

  1.实验代码

#include<stdio.h>
int main()
int prime(int p){
    int isPrime=1 , i;//定义当isPrime=0为素数
    if(p<2){
        isPrime = 0;//当定义的数小于2时为素数
    }
    else{
        for(i=2; i<=(int)sqrt(p); i++){//for循环
            if(p%i == 0){
                isPrime = 0;//取余等于0,为素数
                break;//结束当前循环
            }
        }
    }
    return isPrime;
}
{
	int M, N, i, count=0, sum=0;//定义区间的两个数,for循环的i和所要输出的两个结果
	scanf("%d %d",&M,&N);//输入区间两边的数
	for(i=M;i<=N;i++){//for循环定义区间
		if(prime(i)){
			count++;//count+1
			sum += i;//计算sum
		}
	}printf("%d %d",count,sum);输出结果
	return 0;
}

  2.设计思路

  (1)文字描述

    第一步:先定义一个素数(假设定义当isPrime=0为素数)

    第二步:所以当定义的数小于2时为素数

    第三步:在for循环中取余等于0则为素数并结束当前循环

if(p%i == 0){
    isPrime = 0;//取余等于0,为素数
    break;//结束当前循环
    }

    第四步:然后定义区间的两个数,for循环的i和所要输出的两个结果

    第五步:在for循环中定义区间并求得sum(sum += i)

    第六步:最后输出所求结果

  (2)流程图

  3.错误提示

  4.解决方法

  (1)定义isPrime等于0时为素数,从而计算素数的和还有平均数

  (2)考虑isPrime不等于0时的情况

三. 循环2中题目7-5 最佳情侣身高差

  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);//在for循环中输入性别和体重
		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.错误提示

  4.解决方法

  查阅了部分资料,将for循环中定义性别的字母替换为%c(char对应着%c)

四.总结

  1.总结

  a.所学内容

  (1)有关分支结构的一些必要步骤

  (2)有关for,while循环的一些知识

  b.遇到问题

  (1)如何定义素数

  (2)如何四舍五入

  (3)怎么定义字母

  c.解决方法

  (1)计算每一步都需要考虑是否加全

  (2)在所得结果上加上0.5就会在输出的整数上达到四舍五入的结果

  (3)计算与素数有关的问题时要定义isPrime等于何值时时为素数,从而计算素数的和还有平均数

  (4)要考虑isPrime不等于0时的情况

  (5)int 是整形数据,int a = 3;这里int 是类型, a 是整形变量,3是赋值;char s = 'A'; char是字符类型,s是字符型变量,A是赋值给变量s;

  2.点评

徐凤隆的作业

杨仕奇的作业

李锐的作业

 

  3.表格

周数 此周代码行数/行 码代码所用时长/h 所写博客字数/字 写博客所用时长/h 所涉及的知识点
第9周 2800 13 0 有关分支结构的知识
第10周 3200 15 0 有关四则运算的知识
第11周 3500 15.5 0 有关while,for循环的知识 
第12周 3500 15.5  1000  5 加深对循环的知识 

  折线图

 

 

posted on 2018-11-22 20:02  张学健  阅读(352)  评论(9编辑  收藏  举报

导航