C语言(简单递归) 喝1元汽水,两个空瓶子可以换一个汽水。

//喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,
//给20元,可以多少汽水。


#include

int A(int a,int* p)
{
    if (a%2==1)
    (*p)++;
    return 0;
}
int  sumdri(int a,int* p)
{
    int sum = 0;
    if (a >= 1)
    {
        sum = a + sumdri((a / 2),p)+A(a%2,p);
        return  sum;
    }
    else
        return 0;
}

int main()
{
    int a,sum,count=0;
    int *p = &count;
    printf("请输入:");
    scanf("%d", &a);
    sum = sumdri(a,p);
    printf("可以购买:%d瓶 \n", sum+(count/2));
    return 0;
}

运行程序图:

C语言(简单递归) 喝1元汽水,两个空瓶子可以换一个汽水。_第1张图片

 

你可能感兴趣的:(c语言,开发语言)