C 计算输出为';不正确
由于我还是c编程新手,我对下面程序中的输出计算有一个问题。当我输入2.8作为总里程时,2名乘客和1名机场出租车乘客。 所欠车费总额为8.04美元。距离费为5.04英镑,2名乘客加收1.00英镑的附加费(第一名乘客不加收附加费),机场加收2.00英镑。现在,它只是一直在打印最低票价5美元。我不确定我错过了什么,任何帮助都将不胜感激 谢谢, 安妮特C 计算输出为';不正确,c,C,由于我还是c编程新手,我对下面程序中的输出计算有一个问题。当我输入2.8作为总里程时,2名乘客和1名机场出租车乘客。 所欠车费总额为8.04美元。距离费为5.04英镑,2名乘客加收1.00英镑的附加费(第一名乘客不加收附加费),机场加收2.00英镑。现在,它只是一直在打印最低票价5美元。我不确定我错过了什么,任何帮助都将不胜感激 谢谢, 安妮特 #包括 #包括 #定义最低票价5.00 #定义票价1.80 int main(){ //声明所有变量类型及其数据类型和值(如适用)。 浮动总票价,距离=
#包括
#包括
#定义最低票价5.00
#定义票价1.80
int main(){
//声明所有变量类型及其数据类型和值(如适用)。
浮动总票价,距离=1.0;
国际机场旅客人数;
浮动票价=距离*票价;
//提示乘客用键盘输入总距离(测量到1/10英里)
printf(“请输入总距离,”);
printf(“输入1/10英里,例如25.5:”);
扫描频率(“%g”和距离);
//提示用户输入乘客人数
printf(“\n请输入乘客人数:”);
scanf(“%d”和乘客数量);
printf(“\n请输入旅行类型?”);
printf(“输入(1)机场出租车乘坐和(2)非机场出租车乘坐:”;
scanf(“%d”和机场);
/*根据乘客数量计算票价金额,这样,初始乘客只收取票价,
第一个额外的乘客费用是车费加1.00美元,额外的乘客额外收费
每位乘客$0.50*/
如果(机场==1){
总票价=票价+=2.00;
}
否则{
总票价=票价;
}
如果(乘客人数1){
总票价=(票价+=1.00)+(0.50*(乘客人数-1));
}
//打印用户输入的金额
printf(“\n您输入%g作为总里程,%d名乘客,以及%d名机场出租车乘客。”,距离,乘客人数,机场);
//打印计算低于5.00美元的任何项目的5.00美元最低票价金额。
如果(fare您在执行scanf(“%g”和&distance)
之后执行fare=distance*FARERATE
。当您更改C中的变量时,它不会追溯更改您以前使用它进行的计算。好的,因为它是浮动fare=distance*FARERATE是可变数据类型,那么我只需要将scanf更改为scanf(“%f”,&distance);正确吗?如果是这样,它仍在打印最小值5.00,你知道为什么吗?@AnnetteKitz不,那不对。将%g
更改为%f
与我所说的无关。
#include <stdio.h>
#include <stdlib.h>
#define MINFARE 5.00
#define FARERATE 1.80
int main() {
//Declare all of the variables types and their data types and values as applicable.
float totalFare, distance = 1.0;
int numberOfPassengers, airport;
float fare = distance * FARERATE;
//Prompt passenger to enter the total distance (measured to 1/10 of a mile) with a keyboard
printf("Please enter the total distance, ");
printf("enter it measured to 1/10 mile, e.g. 25.5: ");
scanf("%g", &distance);
//Prompt the user to enter the number of passengers
printf("\nPlease enter the number of passengers: ");
scanf("%d", &numberOfPassengers);
printf("\nPlease enter the type of travel? ");
printf("Enter (1) for Airport cab ride and (2) for Non- Airport cab ride: ");
scanf("%d", &airport);
/*Calculate the fare amount with the number of passengers, such that, the initial rider is charged the fare only,
the first additional passenger charge is the fare plus $1.00 and additional passengers are charge an additional
$0.50 per passenger*/
if (airport == 1) {
totalFare = fare += 2.00;
}
else {
totalFare = fare;
}
if(numberOfPassengers <= 1) {
totalFare = fare + 1.00;
}
else
if(numberOfPassengers > 1) {
totalFare = (fare += 1.00) + (0.50 * (numberOfPassengers - 1));
}
//Prints the user entered amounts
printf("\nYou entered %g as the total miles, %d passengers, and %d for Airport cab ride.", distance, numberOfPassengers, airport);
//Prints the $5.00 minimum fare amount for anything that calculates below $5.00.
if (fare<MINFARE) {
printf("\nThe total fare owed is:\t $%.2f", MINFARE);
}
else {
printf("\nThe total fare owed is:\t$%.2f", totalFare);
}
return 0;
}