科大讯飞2017笔试题

/*小明是一名学生,又到了学校的选课时间,他想选一些课程学习,已知课程开课时间都在每周一到周五之内,早上4讲课,
下午4讲课,晚上2讲课。
小明担心选课时间上有所冲突。所以他希望可以对课程时间进行检查。

输入
首先输入一个整数n(0<n<=100),表示小明选课总数。
之后输入n行选课信息,每行选课信息有2个数字。
第一个数字表示开课时间,开课时间用2位数表示,前一位用0到4表示周一至周五,后一位用0到9表示从早到晚顺序第几讲课,
如12表示礼拜二第三讲课。01表示礼拜一第二讲课。
每行第二个数字表示课程代码,如:204521。课程代码为6位数字。输入课程代码均不重复。 */

#include <iostream>
#include <stdio.h>
#include <vector>

using namespace std;

int main()
{
	int arr[][2] = {01,204521,23,204523,22,204526,01,204528,22,204527,01,344322,22,888888};
	int rowNum = ( sizeof(arr) / sizeof(int) )/ ( sizeof(arr[0]) / sizeof(int) );  //求数组的行数
	vector<int> vec;     //防止重复统计
	int num = vec.size(); 
	int flag1 = 0;    //换行标识符

	for (int i=0;i<rowNum;i++)
	{
		int flag = 0;  //标识符
		
		for (int j=0;j<num;j++)
		{
			if(*arr[i]==vec[j])
			{
				i++;
				continue;
			}
		}
		for (int j=i+1;j<rowNum;j++)
		{
			if (*arr[i] == *arr[j])
			{
				if (flag == 0)
				{
					if (arr[i][0] == 1)
						cout<<"0"<<arr[i][0]<<" "<<arr[i][1];
					else
						cout<<arr[i][0]<<" "<<arr[i][1];
					flag = 1;
					flag1++;
				}
				cout<<" "<<arr[j][1];
				vec.push_back(*arr[j]);
				num++;
			}
			
		}
		if (flag1 == 1)
		{
			cout<<endl;
			flag1 = 0;
		}	
	}
	return 0;
}
欢迎大家指正。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值