时间限制: 1000 ms 内存限制: 65536 KB
提交数: 26710 通过数: 14654
一个以‘.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式。
一个以‘.’结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。
该句子中最长的单词。如果多于一个,则输出第一个。
I am a student of Peking University.
University
把最长与最短单词修改了。用一个整形数组记录单词的长度,字符数组记录单词
#include#include char a[525][505]; #include using namespace std; int main() { int i,t[500],k,n=0,m=0,j,max=0,min=500; char c; while(1){ c=getchar(); if(c==' '||c=='.')//有空格和句号时,判断是不是单词,然后记录它的长度。 { if(n>0) { t[m]=strlen(a[m]); m++; n=0; } } while(c==' '||c=='.')//跳过空格和点 c=getchar(); //if(c>='A'&&c<='Z'||c>='a'&&c<='z') a[m][n++]=c;//记录下字符 if(c==10)break; } for(i=0;i t[i]) { min=t[i]; j=i; } } printf("%s\n",a[k]);//只输出这个就行了,多下面的一行会错误呢 //printf("%s",a[j]); return 0; }