【C语言】喝汽水问题

简介: C语言中的喝汽水问题

1. 题目内容

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水?(编程实现)。

2. 思路分析

2.1 方法一

image.png

思路:

  1. 20元首先可以喝20瓶,此时手中有20个空瓶子。
  2. 两个空瓶子可以喝一瓶,喝完之后,空瓶子剩余:empty/2(两个空瓶子换的喝完后产生的瓶子) + empty%2(不够换的瓶子)
    3. 如果瓶子个数超过1个,可以继续换,即重复2

2.2 方法二

按照上述喝水和用瓶子换的规则的话,可以发现,其实就是个等差数列:money*2-1

2.3 方法三

因为每两个空瓶可以换一瓶汽水,1瓶汽水1元,最开始给20元。

我们就用钱数money设置一个while循环,当钱数money不等于0时,每买一瓶汽水,就让能喝的汽水total+1,同时money-1。

因为两个空瓶可以换一瓶汽水,所以当total为偶数时,total就再+1即可。

3. 代码实现

3.1 方法一

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int main()
{
   
    int total = 0;
    int empty = 0;
    int money = 0;
    scanf("%d", &money);
    total += money;
    empty += money ;
    while (empty >= 2)
    {
   
        total += empty / 2;
        empty = empty/2 + empty % 2;
    }
    printf("可以喝%d瓶汽水\n", total);
    return 0;
}

image.png

3.2 方法二

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int main()
{
   
    int total = 0;
    int empty = 0;
    int money = 0;
    scanf("%d", &money);
    if (money > 0)
        total = money * 2 - 1;
    printf("可以喝%d瓶汽水\n", total);
    return 0;
}

image.png

3.3 方法三

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int main()
{
   
    int total = 0;
    int money = 0;
    scanf("%d", &money);
    while (money != 0)
    {
   
        total++;
        money--;
        if (total % 2 == 0)
            total++;
    }
    printf("可以喝%d瓶汽水\n", total);
    return 0;
}

image.png

相关文章
|
7月前
|
C语言
c语言经典例题讲解(输出菱形,喝汽水问题)
c语言经典例题讲解(输出菱形,喝汽水问题)
95 0
|
6月前
|
C语言
【C语言刷题系列】喝汽水问题
【C语言刷题系列】喝汽水问题
|
C语言
用C语言解决实际问题之买汽水、猜凶手(名次)
用C语言解决实际问题之买汽水、猜凶手(名次)
91 0
|
C语言
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
86 0
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
|
C语言
C语言:喝汽水问题
总体思路: (一). 定义相关变量: int money = 0; -- 一元一瓶,所以也等于空瓶数 int total = 0; -- 喝的总瓶数
139 0
|
C语言
C语言;喝汽水问题
C语言;喝汽水问题
98 0
C语言;喝汽水问题
|
15天前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
35 10
|
15天前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
35 9
|
15天前
|
存储 Unix Serverless
【C语言】常用函数汇总表
本文总结了C语言中常用的函数,涵盖输入/输出、字符串操作、内存管理、数学运算、时间处理、文件操作及布尔类型等多个方面。每类函数均以表格形式列出其功能和使用示例,便于快速查阅和学习。通过综合示例代码,展示了这些函数的实际应用,帮助读者更好地理解和掌握C语言的基本功能和标准库函数的使用方法。感谢阅读,希望对你有所帮助!
30 8