C语言,如果语句混乱

问题描述 投票:0回答:1

更新:我已经编辑了代码,我想这次可以更正确一些了。输入奇数时,我仍然得到错误的金额。

一集装箱OJ的成本是多少?4.50您要购买几个集装箱?5总费用为$ 13.50。

[当输入为奇数,即5时,程序应将对数取为5,将其乘以1容器的成本减去多余的容器,然后将1容器的成本加到该乘积中。关闭更新。

我正在上C语言的第一堂课,所以我是一个菜鸟,我需要一些帮助来解决一个简单的任务。这是给我的程序设置:

程序设置您的程序应要求用户输入一箱果汁的价格以及要购买的纸箱数量。请注意,由于果汁是普通的杂货,因此不收取营业税。

然后,根据BOGO报价确定购买橙汁的最终成本。尽管可以提供一种不使用If语句的解决方案,但分配的目的是在有条件的情况下进行练习。确保您借此机会获得掌握编程概念所需的练习。

您需要考虑两种不同的情况:购买偶数个OJ纸箱和购买奇数个OJ纸箱。您如何确定数字是偶数还是奇数?被2整除的数字是偶数。除以2时,奇数的余数为1。哪个算术运算符为您提供余数?]

这是我到目前为止所写的,请提供一些指导。我希望我有道理。

#include <stdio.h>
#include <stdlib.h>

int main() {

    double OJ_price;
    int OJ_containers;

    printf("What is the cost of one container of OJ in dollars?\n");
    scanf("%lf", &OJ_price);

    printf("How many containers are you buying?\n");
    scanf("%d", &OJ_containers);

    if(OJ_containers % 2 == 0)
        printf("The total cost is %1f\n", (OJ_containers*OJ_price)/2);
    else
        printf("The total cost is $ %.2f\n",                      
        ((OJ_containers-1)*OJ_price)+OJ_price);




system("pause");

return 0;

}

c if-statement
1个回答
2
投票

我可以在您的代码中看到一个问题。如果容器为奇数,则您正在计算并显示价格。但是我认为您忘了计算容器的价格(即使它们是偶数),您只是在打印变量OJ_containers的值。您还必须计算并显示它。

当您在寻找准则时,建议您遵循Microsoft的编码准则:

The Microsoft's coding guidelines

我知道这是针对c#的,但是您仍然可以将这些准则用于其他编程语言。其他编程语言有很多共同点。就像变量,函数的概念一样,在C#中,它们将其称为方法。希望你喜欢。随着您的进步,您会知道有很多编程方法,但是不要混淆,只需遵循一次标准,我希望您从一开始就这样做,它将帮助您成为一名优秀的程序员。

© www.soinside.com 2019 - 2024. All rights reserved.