时间限制: 1000 ms 内存限制: 65536 KB
提交数: 49236 通过数: 15989
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
一行句子。
第1行,第一个最长的单词。
第2行,第一个最短的单词。
I am studying Programming language C in Peking University
Programming
I
提示:
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。
#include#include char a[225][105]; #include using namespace std; int main() { int i,t[300],k,n=0,m=0,j,max=0,min=300; char c; while(1){ c=getchar();//取字符 if(c==' '||c==',')//防前面就是空格和逗号 { if(n>0) { t[m]=strlen(a[m]);//t中存放长度,如果n大于0,就是形成了一个字串 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; }