zoukankan      html  css  js  c++  java
  • 5元咖啡与找零

    菊花厂机试题。
    一杯咖啡5元,只收5,10,20面额的钱。
    输入一串字符串,表示收到的钱,如果能找零,则输出true,编号;
    如果无法找零,则输出false,不能找零的顾客编号;
    如果输入的不是5,10,20则直接输出false,和给出错误钱数的编号。

    #include <iostream>
    #include <iomanip>
    #include <vector>
    #include <string>
    #include <sstream>
    using namespace std;
    
    int main()
    {
    	while (1)
    	{
    		string num, tmp;
    		getline(cin, num);
    		vector<string> data;
    		stringstream input(num);
    		while (getline(input, tmp, ',')) data.push_back(tmp);//按逗号分隔
    		int size = data.size();
    		int *money = new int[size];//申请动态分配的空间
    		int five_num = 0;
    		int ten_num = 0;
    		int pos = 0;
    		bool flag = 0;//能否找零成功标志位
    
    		for (int i = 0; i < size; i++)
    		{
    			money[i] = stoi(data[i]);//字符串转int
    
    			if (money[i] == 5)
    				five_num += 1;				
    			else if (money[i] == 10)
    			{
    				ten_num += 1;
    				if (five_num > 0)
    					five_num -= 1;//用5块找零
    				else
    				{
    					pos = i;
    					flag = 1;
    					break;
    				}
    			}	
    			else if (money[i] == 20)
    			{
    				if (ten_num > 0&&five_num >0)
    				{
                                        ten_num -= 1;//用10块和5块找零
                                        five_num -= 1;
                                    }
    				else if (five_num >2)
    				    five_num -= 3;//用三张5块找零
    				else
    				{
    					pos = i;
    					flag = 1;
    					break;
    				}
    			}
    			else
    			{
    				pos = i; //钱数错误,不是5,10,20
    				flag = 1;
    				break;
    			}
    		}
    
    		if (flag)
    			cout << "false," << pos+1 << endl;
    		else
    			cout << "true," << size<< endl;
    
    		flag = 0;
    		delete[]money; //释放申请的动态空间
    	}
    	return 0;
    }
    
  • 相关阅读:
    AJAX 三级联动
    AJAX JSON类型返回
    AJAX 汽车详细信息练习
    JQ AJAX
    对话框关联两个Layout时
    删除,拨打电话,发送短信对话框
    自定义对话框,时间日期对话框
    一般对话框,单选复选对话框
    JAVA。String转Int
    加监听器,单选复选按钮
  • 原文地址:https://www.cnblogs.com/j-c-y/p/13493083.html
Copyright © 2011-2022 走看看