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]
注:
• 问题描述: 某公司由于人多,午餐分为多批次就餐,严格要求每批次就餐时间。并定期抽查就餐情况。请编写程序实现就餐抽查情况。
• 要求实现函数: 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 按题目格式化输出