2012华为编程之就餐调查

1.就餐抽查 
 
 • 问题描述:  某公司由于人多,午餐分为多批次就餐,严格要求每批次就餐时间。并定期抽查就餐情况。请编写程序实现就餐抽查情况。
 
 • 要求实现函数:  void check_lunch(int num, int time,int input[], int output[]) 
 
【输入】  int num,就餐总人数           int time,就餐分批数           char input[],就餐情况 
 
【输出】  char output[], 违规就餐情况 
 
【返回】  无 注:对就餐分3批的情况,12人就餐,正确的就餐情况应如下分布[1,2,3,1,2,3,1,2,3,1,2,3],不符合该分布的即是违规,输出时对相应位置0。
 
 • 示例  
 
1) 输入:num = 12,time = 3,input =[1,2,3,3,1,3,1,1,1,1,2,3] 输出:output = [1,2,3,0,0,3,1,0,0,1,2,3] 
 

 2) 输入:num = 11,time = 4,intput = [1,2,3,4,2,3,3,4,1,2,3] 输出:output = [1,2,3,4,0,0,3,4,1,2,3]

#include <iostream>

using namespace std;

#define MAX 1024

void check_lunch(int num,int time,int input[],int output[])
{
	int k=1;
	for (int j=0;j<num;j++)
	{
		if (input[j]==k)
		{
			output[j]=input[j];
			
		}
		else
			output[j]=0;
		if (k<time)
			{
				k++;
			}
		else
			k=1;
	}

}

int main()
{
//	int num=0;
//	int time=0;
//	int input[MAX];
//	int output[MAX];
//	cin>>num>>time;
//	for (int i=0;i<time;i++)
//	{
//		cin>>input[i];
//	}
	int num=12;
	int time=3;
	int input[]={1,2,3,3,1,3,1,1,1,1,2,3};
	int output[20];
	check_lunch(num,time,input,output);
	for (int i=0;i<num;i++)
	{
		cout<<output[i]<<",";
	}

	return 0;
}

注:

1 思路很简单,相同即一样,不同就赋值为0;

2 按题目格式化输出



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值