|
发表于 2021-11-27 12:22:11
|
显示全部楼层
- #include <stdio.h>
- /* 本代码从键盘读取一个英文句子,输出其中的最长单词 */
- int main(void)
- {
- char s[4100] ;
- int d[2000][2] , i , j , k , m ;
- gets(s) ;
- for(k = i = 0 ; s[i] ; k ++ , i = j) {
- for(; s[i] && (s[i] < 'A' || (s[i] > 'Z' && s[i] < 'a') || s[i] > 'z') ; i ++) ;
- for(j = i ; s[j] && ((s[j] >= 'A' && s[j] <= 'Z') || (s[j] >= 'a' && s[j] <= 'z')) ; j ++) ;
- d[k][0] = i ;
- d[k][1] = j - i ;
- }
- for(m = d[0][1] , i = 1 ; i < k ; i ++) if(d[i][1] > m) m = d[i][1] ;
- for(i = 0 ; i < k ; i ++) {
- if(d[i][1] == m) {
- for(j = 0 ; j < d[i][1] ; j ++) putchar(s[d[i][0] + j]) ;
- putchar('\n') ;
- }
- }
- }
复制代码 |
|