【C语言】【面试题】每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水

#include <stdio.h>
#define MAX  20
int main()
{
	int money=MAX;
	int count=MAX;
	while(1)
	{
		if(money%2!=0)
		{
			count=count+money-1;
			break;
		}
		else
		{
			money=money/2;
			count+=money;
		}
	}
	printf("%d\n",count);
	return 0;
}
时间: 2024-12-28 00:57:25

【C语言】【面试题】每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水的相关文章

C语言:每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。

#include <stdio.h> #define MAX  20 int main() {  int money=MAX;  int count=MAX;  while(1)  {   if(money%2!=0)   {    count=count+money-1;    break;    }    else   {    money=money/2;    count+=money;    }  }   printf("%d\n",count);  return

12个有趣的C语言面试题及答案

12个C语言面试题,涉及指针.进程.运算.结构体.函数.内存,看看你能做出几个! 1.gets()函数 问:请找出下面代码里的问题: #include<stdio.h> int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答:上面代码里的问题在于函数gets()的

C语言面试题大汇总

C语言面试题大汇总 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量.对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内. 2.如何引用一个已经定义过的全局变量? 答: extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引

华为C语言笔试题集合

①华为笔试题搜集 1.static有什么用途?(请至少说明两种)    1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.    2) 在模块内(但在函数体外),一个被声明为静态的变量能够被模块内所用函数訪问,但不能被模块外其他函数訪问.它是一个本地的全局变量.    3) 在模块内,一个被声明为静态的函数仅仅可被这一模块内的其他函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用与指针有什么差别?    1) 引用必须被初始化,指针不必.    2)

[笔记]一道C语言面试题:IPv4字符串转为UInt整数

题目:输入一个IPv4字符串,如“1.2.3.4”,输出对应的无符号整数,如本例输出为 0x01020304. 来源:某500强企业面试题目 思路:从尾部扫描到头部,一旦发现无法转换,立即返回,减少无谓操作. #include "stdio.h" #include "stdlib.h" #include "string.h" bool ConvertIPv4ToUInt(const char *strIP, unsigned int *ip) {

c语言面试题之sizeof

*/--> c语言面试题之sizeof Table of Contents 1. sizeof 1 sizeof sizeof是c语言中判断数据类型或者表达式的长度符,它不是函数,,字节数的计算在程序编译 时进行,而不是在程序执行的过程中才计算出来!(文采不行,我就废话下了,接下来上重点)! #include int main(int argc, char* argv[]) { char str[]="123"; char *p=str; printf("%d\n&qu

可以喝多少瓶啤酒

可以喝多少瓶啤酒 问题 4个瓶盖,或者2个酒瓶,可以换一瓶啤酒, 现在有10块钱,啤酒2块钱一瓶,问: 共可以喝多少瓶啤酒? 解法一 问题分析 手里有10块钱,既然要喝尽可能多的啤酒,就要买尽可能的多买,所以直接全部买成啤酒,共可买5瓶.现在共有5瓶啤酒,那么可以进行以下的操作(序号越低,优先级越高): 如果有酒,则全部喝掉: 如果有 >= 4个瓶盖,则换成 n/4 瓶啤酒: 如果有 >= 2个酒瓶,则换成 n/2 瓶啤酒: 显然,如果用程序模拟,实现起来很简单. 结果 代码: # encod

javascript计算啤酒2元一瓶,4个盖换一瓶,2个瓶换一瓶,10元钱最多喝多少瓶

var n = 0//当前剩下多少瓶加上喝赢了多少瓶 var x = 5//初始多少瓶 var y = 0//除了喝掉的,剩下多少瓶 var z = 0;//总数 var arr = []//定义一个数组存放值 arr.push(x);//先把最初始瓶数添加到数组 //程序1 var fn = function(s){ y = s -4; //剩下多少瓶 s = y + parseInt(s/4) + parseInt(s/2);//剩下多少瓶加上赢了多少瓶 n = s//赋值给上面的n arr

java:50瓶可乐,每喝三瓶给你一瓶,请问最后喝了多少瓶.

package jihuoma; //50瓶可乐,每喝三瓶给你一瓶,请问最后喝了多少瓶. public class Test1 { public static void main(String[] args) { int count=50;//统计喝了多少瓶,初值50瓶 int sum=50;//初值50瓶可乐 while(true) { sum=sum-3;//喝三瓶后送一瓶,即下面的count++ count++;//送一瓶 sum=sum+1;//送了一瓶后,那么剩余的可乐数量加1 if(