#CS40210. 阅读程序2-字符处理-10

阅读程序2-字符处理-10

阅读程序

注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。

第2节:字符处理

第10题【NOIP】2016

#include <iostream>
using namespace std;
int main(){
	char a[100][100], b[100][100];
	string c[100];
	string tmp;
	int n, i = 0, j = 0, k = 0, total_len[100], length[100][3];
	cin >> n;
	getline(cin, tmp);
	for (i = 0; i < n; i++){
		getline(cin, c[i]);
		total_len[i] = c[i].size();
	}
	for (i = 0; i < n; i++){
		j = 0;
		while (c[i][j] != ':'){
			a[i][k] = c[i][j];
			k = k + 1;
			j++;
		}
		length[i][1] = k - 1;
		a[i][k] = 0;
		k = 0;
		for (j = j + 1; j < total_len[i]; j++){
			b[i][k] = c[i][j];
			k = k + 1;
		}
		length[i][2] = k - 1;
		b[i][k] = 0;
		k = 0;
	}
	for (i = 0; i < n; i++){
		if (length[i][1] >= length[i][2])
			cout << "NO,";
		else{
			k = 0;
			for (j = 0; j < length[i][2]; j++){
				if (a[i][k] == b[i][j])
					k = k + 1;
40			if (k > length[i][1])
41					break;
			}
			if (j == length[i][2])
				cout << "NO,";
			else
				cout << "YES,";
		}
	}
	cout << endl;
	return 0;
}

●判断题

(1)若输入的字符串不包括‘:’,可能运行错误。

{{ select(10-1) }}

(2)若n=1 且length[i][1]<length[i][2],输出为“YES,”。

{{ select(10-2) }}

(3)若去掉第40、41行,输出结果不变。

{{ select(10-3) }}

(4)输出结果为一行字符串。

{{ select(10-4) }}

●选择题

(5)输入1 AB:ACDEbFBkBD,输出的结果是( )。

{{ select(10-5) }}

  • YES,
  • NO,
  • 运行错误
  • 运行超时

(6)输入1 AR:ACDBrT,输出的结果是()。

{{ select(10-6) }}

  • YES,
  • NO,
  • 运行错误
  • 运行超时