鱼C论坛

 找回密码
 立即注册
查看: 992|回复: 2

[已解决]为什么我的输出总少1啊

[复制链接]
发表于 2023-9-28 22:38:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目是
小明带着N
元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。

输入描述
一行,包含一个正整数N
,表示小明可用于买酱油的钱数。N
是10的整数倍,N
不超过300。

输出描述
一行,包含一个整数,表示小明最多可以得到多少瓶酱油。
我的代码是
#include<stdio.h>
int main()
{
    int n;scanf("%d",&n);
    int a,b,c;
    c=n/10;
    a=c/3;b=c/5;
    int d,e;
    d=a;e=b*2;
    if(d>e) printf("%d",c+d);
    else printf("%d",c+e);
}
错在哪了啊
最佳答案
2023-9-28 22:38:42
题目中提到“每买3瓶送1瓶”和“每买5瓶送2瓶”,但是在代码中没有考虑到这些情况,导致输出结果总是少1。正确的代码应该考虑到这些情况,例如:

#include <stdio.h>

int main() {
    int n, bottles;
    scanf("%d", &n);
    bottles = n / 10;
    int remainder = bottles % 5;
    int bonus = bottles / 5 * 2;
    if (remainder >= 3) {
        bonus++;
    }
    printf("%d\n", bottles + bonus);
    return 0;
}

这个代码中,我们首先计算出小明可以买多少瓶酱油,然后计算出他可以获得的赠品数量。注意到赠品的规则是每买5瓶送2瓶或者每买3瓶送1瓶,因此我们需要计算出小明购买的瓶数对5取余数,判断他是否可以获得额外的1瓶赠品。最后将购买的瓶数和赠品数量相加即可。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-28 22:38:42 | 显示全部楼层    本楼为最佳答案   
题目中提到“每买3瓶送1瓶”和“每买5瓶送2瓶”,但是在代码中没有考虑到这些情况,导致输出结果总是少1。正确的代码应该考虑到这些情况,例如:

#include <stdio.h>

int main() {
    int n, bottles;
    scanf("%d", &n);
    bottles = n / 10;
    int remainder = bottles % 5;
    int bonus = bottles / 5 * 2;
    if (remainder >= 3) {
        bonus++;
    }
    printf("%d\n", bottles + bonus);
    return 0;
}

这个代码中,我们首先计算出小明可以买多少瓶酱油,然后计算出他可以获得的赠品数量。注意到赠品的规则是每买5瓶送2瓶或者每买3瓶送1瓶,因此我们需要计算出小明购买的瓶数对5取余数,判断他是否可以获得额外的1瓶赠品。最后将购买的瓶数和赠品数量相加即可。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2023-9-28 22:39:23 | 显示全部楼层
代码问题分析与解决方法

你的代码中出现了输出少一瓶酱油的问题。这个问题是因为你没有正确处理促销活动中赠送的酱油瓶数。

以下是修改后的代码:
#include <stdio.h>int main(){    int n;    scanf("%d", &n);    int c = n / 10; // 可以买到的酱油瓶数    int a = c / 3;  // 根据每买3瓶送1瓶计算得到的赠送的瓶数    int b = c / 5;  // 根据每买5瓶送2瓶计算得到的赠送的瓶数    int d = a;               // 按照每买3瓶送1瓶计算得到的总赠送瓶数    int e = b * 2;           // 按照每买5瓶送2瓶计算得到的总赠送瓶数    int total = c + d + e;   // 总共可以得到的酱油瓶数    printf("%d", total);    return 0;}
在这个改进后的代码中,我们计算了每种促销活动所赠送的酱油瓶数,并将它们累加到总共可以得到的酱油瓶数中。

希望以上解决方法对您有帮助!如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-6 01:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表