//有点诡异的是,我明明是下午写的,晚上准备发的时候突然看不懂在写什么了
//勉强回忆一下吧,因为一下子忘了思路,解释就放在代码内部注释里了
AC代码:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41#include<iostream> #include<cmath> #include<iomanip> #include<string> #include <ctype.h> #include<bits/stdc++.h> using namespace std; int main() { char a[1100]; while (cin.getline(a, 1100)) { int maxcnt = -1;//初始的最多单词数设为-1 int cnt = 0;//初始的单词数设为0, int p = 0;//p可以当成一个指针,每当maxcnt刷新时,指向i for (int i = 0; a[i] != ''; i++) { //用到了isalpha函数,返回值:0不是字母,非0是字母。 if (isalpha(a[i]) != 0) { cnt++;//如果当前字符是字母,就让cnt自增 } if (cnt > maxcnt)//先让cnt与maxcnt进行比较 { maxcnt = cnt;//maxcnt重新赋值 p = i;//使“指针”p改为i } if (isalpha(a[i]) == 0)//如果不是字母,就让cnt重新设为0 { cnt = 0; } } cout << maxcnt << " "; for (int i = p-maxcnt+1; i <= p;i++)//注意i的初末值 { cout << a[i]; } cout << endl; } //system("pause"); return 0; }
最后
以上就是紧张鱼最近收集整理的关于东华大学 2022 oj c++ 无超纲写法 最长的单词的全部内容,更多相关东华大学内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复