警示后人
查看原帖
警示后人
647551
yuenze0416楼主2023/8/1 19:21

这道题的数据改了,结尾不能输出“,”或“.”。

太坑了!!!

下面是完整代码》》

#include <iostream>
#include <algorithm>
using namespace std;
int mx = 0, mn = 1000, mxp, mnp;
string s;
int main() {
	getline(cin, s);
	int n = s.size();
	s[n] = ' ';
	int step = 0;
	for (int i = 0; i <= n; i++) {
		if (s[i]==' ' || s[i]==',' || s[i]=='.') { //注意这里的判断,我就wa20了 QAQ
			if (step<mn && step!=0) {
				mn = step;
				mnp = i-step;
			}
			if (step > mx) {
				mx = step;
				mxp = i-step;
			}
			step = 0;
		} else step++;
	}
	for (int i = mxp; i < mxp + mx; i++)
		cout << s[i];
	puts("");
	for (int i = mnp; i < mnp + mn; i++)
		cout << s[i];
	return 0;
}
2023/8/1 19:21
加载中...