C 计算输出为';不正确

C 计算输出为';不正确,c,C,由于我还是c编程新手,我对下面程序中的输出计算有一个问题。当我输入2.8作为总里程时,2名乘客和1名机场出租车乘客。 所欠车费总额为8.04美元。距离费为5.04英镑,2名乘客加收1.00英镑的附加费(第一名乘客不加收附加费),机场加收2.00英镑。现在,它只是一直在打印最低票价5美元。我不确定我错过了什么,任何帮助都将不胜感激 谢谢, 安妮特 #包括 #包括 #定义最低票价5.00 #定义票价1.80 int main(){ //声明所有变量类型及其数据类型和值(如适用)。 浮动总票价,距离=

由于我还是c编程新手,我对下面程序中的输出计算有一个问题。当我输入2.8作为总里程时,2名乘客和1名机场出租车乘客。 所欠车费总额为8.04美元。距离费为5.04英镑,2名乘客加收1.00英镑的附加费(第一名乘客不加收附加费),机场加收2.00英镑。现在,它只是一直在打印最低票价5美元。我不确定我错过了什么,任何帮助都将不胜感激

谢谢, 安妮特

#包括
#包括
#定义最低票价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;

}