c语言调用函数,求解答

一个饮料厂商推出一个促销活动,活动规则为:3个瓶盖可以换一瓶饮料。

写一个程序。完成计算:如果想喝num_want瓶,至少需要买num_buy瓶。

(其中需要写出一个函数,函数的参数n为购买的瓶数,函数值m为喝到的瓶数。)

输入用例
10
输出用例
7
输入用例
50
输出用例
34
输入用例
100
输出用例
67

你题目的解答代码如下:

#include<stdio.h>

int fun(int n)
{
    int m = n;
    while (n >= 3)
    {
        m += n/3;
        n = n%3+n/3;
    }
    return m;
}
int main()
{
    int num_want,num_buy=0,m;
    scanf("%d", &num_want);
    do
    {
        num_buy++;
        m = fun(num_buy);
    } while (m<num_want);
    printf("%d", num_buy);
    return 0;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

参考:

#include<stdio.h>
int main()
{
    int sum,n,c;//sum代表喝到的总饮料瓶数,c代表当前的瓶盖数
    scanf("%d",&n);
    sum=n;c=n;
    while(c>=3)
    {
        n=c/3;
        sum=sum+n;
        c=n+c%3;
    }
    printf("%d",sum);
    return 0;
}