C语言5-14练习

来源:5-14 综合练习

蓝豆于南国

2017-03-16 23:40

#include<stdio.h>
#include<math.h>
int main()
{
	int clock1,miles1,clock2,miles2;
	float prise1,prise2,prise;
	printf("请输入自己的来回乘车时间和起点距终点的距离。\n");
	printf("(提示:时间请输入整点,并用24小时制,中间请用空格隔开)\n");
	printf("举个栗子:你上班时间6点,下班时间18点,起点和终点距离为8公里。\n");
	printf("输入:6 8 18 8\n");
	scanf("%d %d %d %d",&clock1,&miles1,&clock2,&miles2);
	if(clock1>=5&&miles1>0&&miles1<=3)
	{
		prise1=14;
	}
	else 
	{
		if(clock1>=5&&miles1>3)
	{
		prise1=14+(miles1-3)*2.3;
	}
		else if(clock1>=23||clock1<5)
	{
		prise1=(14+(miles1-3)*2.3)*1.2;
	}
	}
	if(clock2>=5&&miles2>0&&miles2<=3)
	{
		prise2=14;
	}
	else 
	{
		if(clock2>=5&&miles2>3)
	{
		prise2=14+(miles2-3)*2.3;
	}
		else if(clock2>=23||clock2<5)
	{
		prise2=(14+(miles2-3)*2.3)*1.2;
	}
	}
	prise=prise1+prise2;
	printf("车费一共是%f元.",prise);
	return 0;
}
	

哪位大神帮我看一下这个题目,在23点以后的加价不可以输出正确答案,但是零点到五点的加价可以输出正确答案。

写回答 关注

1回答

  • 慕粉1238575637
    2017-03-17 08:57:21
    已采纳

    看第26行和31行,如果23点乘车,该执行if还是elseif呢?因为两个都成立,可以在前面两个if判断中加入&&clock1<=23。

    蓝豆于南国

    非常感谢!可以运行了

    2017-03-17 12:04:16

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题