NOI1.13编程基础之综合应用16:最长单词2
NOI1.13编程基础之综合应⽤16:最长单词2
16:最长单词2
总时间限制:
1000ms
内存限制:
65536kB
描述
⼀个以'.'结尾的简单英⽂句⼦,单词之间⽤空格分隔,没有缩写形式和其它特殊形式,求句⼦中的最长单词。
输⼊
⼀个以'.'结尾的简单英⽂句⼦(长度不超过500),单词之间⽤空格分隔,没有缩写形式和其它特殊形式。
输出
该句⼦中最长的单词。如果多于⼀个,则输出第⼀个
样例输⼊
I am a student of Peking University.
样例输出
University
思路:
代码⼀:⾸先如果s[i]不是空格或者逗号,就计数加⼀。
当出现空格或逗号是就判断寻出现次数最⼤的值max,并同时记下坐标(这点很重要,不要写在外⾯),同时计数归零。              最后判断输出。
#include<stdio.h> #include<string.h> int main()
{
char s[500];
gets(s);
int n=strlen(s);
int i,k=0,max=0,l=0; for(i=0;i<n;i++){
欣然怒放的意思是什么
if(s[i]!=' '&&s[i]!='.'){  k++;
}
else{
if(max<k){
max=k;
l=i;//注意位置
}
k=0;
}
}
for(i=l-max;i<l;i++){  printf("%c",s[i]); }
你的名字 中国上映
return 0;
}
父亲2023年是几月几日
代码⼆:
与代码⼀有着异曲同⼯之妙。
乳液怎么做出来的这是先计数,但出现空格或逗号就归零,(注意这⾥当出现空格或者逗号时,也计数加⼀了,所以k值⽐代码⼀⼤⼀,max也⼤⼀,要记得处理)。
#include<stdio.h>
#include<string.h>
int main()
{欧美抢中国箱包 订单到明年
char s[500];
gets(s);
int n=strlen(s);
int i,k=0,max=0,l=0;
for(i=0;i<n;i++){
k++;
if(s[i]==' '||s[i]=='.'){
if(max<k){
max=k;
l=i;
}
祝愿企业的话大气一些
k=0;
}
}
for(i=l-max+1;i<l;i++){
printf("%c",s[i]);
}
return 0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。