代码如下:
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的澧县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
#包括 stdio, h
# include string。H
Voidmain()
{
字符c[50];
Voidf(charc[50]);//没有返回值,直接用函数f打印结果。
(c);
F(c);
}
Voidf(charc[50])
{
Intlen=0,lenth=0,I,flag=0;
For(I=0;C(我)!='\0';我++)
{
如果(c[我]!='')
Len++;
If(c[I]=='')
{
If (len lenth)
{
长度=兰;
国旗=i-lenth;//当有一个新的最长的字符串时,使用flag记录字符串开始下标
}
Len=0;
}
}
If (len lenth)
{
长度=兰;
国旗=i-lenth;//以同样的方式
}
Printf("最长的子串是%d字符,子串是:",lenth);//打印子串的长度
For (I = flag;I flag + lenth;i++)//将子字符串从flag输出到flag + lenth-1
Printf("%c",[I]c);
Printf("\n");//换行
}
扩展资料:
1.返回意味着从被调用的函数继续执行到主函数。Return可以伴随一个返回值,返回值可以是常量、变量或表达式。
2.操作:结束正在运行的函数并返回该函数的值。
3.返回值:
返回值可以是各种数据类型,例如:int、float、ouble、char、a[](数组)、*a(指针)、
结构或类(c++)返回类型指定返回后要添加的金额的类型,如果返回类型被声明为void,则不需要返回值。PublicstaticvoidMain()//programentry只能被声明为void和int的返回
{
//没有返回值
}
公共静态空隙(mm)
{
返回;//在某些情况下,在一个voidmethod中,需要跳出来,你可以直接使用return,不能在后面添加任何数量
}
公共静态intcc()
{
321的回归;因为返回类型声明为int,所以返回一个整数
}
公共静态字符串MSMSM()
{
返回“asdfhasjghdg”;因为返回类型被声明为string,所以返回一个string
}
#includestdio.h
#includestring.h
int main()
{
char str[100];
gets(str);
void findLongest(char str[]);
findLongest(str);
return 0;
}
void findLongest(char str[])
{
int currLen=0,maxLen=0,currStart=0,MaxStart=0;
int i=0,j=0;
for(i=0;str[i];i++)
{
if((str[i]='a'str[i]='z')||(str[i]='A'str[i]='Z'))
{
if(currLen==0)//当前长度等于0时,说明一个单词刚刚查找完,此时的位置为
currStart=i;//新单词的开始位置
currLen++;
}
if(currLenmaxLen)//当前单词的长度大于最大值,进行赋值
{
maxLen = currLen;
MaxStart = currStart;
}
if(str[i]==' ')//遇到空格,即一个单词已经结束。
{
currLen = 0;
}
}
for(j=MaxStart;jMaxStart+maxLen;j++)
printf("%c",str[j]);
}
运行效果:
扩展资料:
Return用法
1.含义:return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,返回值可以是一个常量,变量,或是表达式。
2.作用:结束正在运行的函数,并返回函数值。
3.返回值:
计算结果表示函数执行的顺利与否(-1、0)返回值可以为各种数据类型,如:int,float,ouble,char,a[](数组),*a(指针),
结构或类(c++)返回类型规定了return后面所加的量的类型,如果返回类型声明为void,则不需要返回值。public static void Main()//程序入口只可以声明为void和int的返回
{
//不需要返回值就OK
}
public static void mm()
{
return;//有些时候,在void的方法中,你需要跳出它,可以直接用return而不能加任何量在后面
}
public static int cc()
{
return 321;//因为返回类型声明为int,所以返回一个整数
}
public static string msmsm()
{
return“asdfhasjghdg”;//因为返回类型声明为string,所以返回一个字符串
}
void f(char a[])
{
int pos,tpos,len=0,tlen=0;
int i=0;
do
{
if ((a[i]='a' a[i]='z')||(a[i]='A' a[i]='Z'))
{
if (!tlen) tpos=i;
tlen++;
}
else
{
if (tlenlen)
{
pos=tpos;
len=tlen;
}
tlen=0;
}
}
while (a[i++]);
for (i=0;ilen;i++) printf("%c",a[pos+i]);
}
#includecstdio
#includecstring
using namespace std;
const int maxn=100; //这个表示单词可能的最大个数
const int maxl=100; //这个表示单词可能的最长长度,需要根据题目要求确定
int n,maxlen;
int len[maxn];
char ch[maxn][maxl];
int max(int a,int b){
return ab?a:b;
}
int main(){
int k=0;
while(~scanf("%c",ch[n][k])){ //每次输入一个字符,n表示当前是第几个单词,k表示是这个单词的第几个字母
if(ch[n][k]!=' ' ch[n][k]!='\n'){ //不是空格或空行说明还没有读完,k++,接着读下一个
k++;continue;
}
len[n]=k-1; //计算这个单词的长度
maxlen=max(maxlen,len[n]); //更新最长的单词长度
if(ch[n][k]==' ') k=0,n++; //如果读到空格,说明这个单词读完了
else{ //如果读到空行,说明这组数据读完了,开始输出这组数据的答案
for(int i=0;i=n;i++)
if(len[i]==maxlen) //如果长度等于最长的单词长度,这个单词就是最长单词
printf("%s",ch[i]); //输出即可
putchar('\n');
memset(ch,0,sizeof(ch)); //将原来的数组清空
n=0;maxlen=0;k=0;
}
}
return 0;
}
我自己测了一组输入数据,答案应该没什么问题了:
Hello sir are you satisfied with my answer ?
Yes I feel thankful of your answer .
How does it feel ?
It feels very good !
输出:
satisfied
thankful
does feel
feels
等等,我才发现是按字典序输出...我这是按输入顺序输出的....
#includecstdio
#includecstring
#includealgorithm
using namespace std;
const int maxn=100; //这个表示单词可能的最大个数
const int maxl=100; //这个表示单词可能的最长长度,需要根据题目要求确定
int n,maxlen;
struct Word{
int len;
char ch[maxl];
void clean(){
memset(ch,0,sizeof(ch));
}
}word[maxn];
int max(int a,int b){
return ab?a:b;
}
bool cmp(const Word a,const Word b){//比较两个单词的函数
return strcmp(a.ch,b.ch)0;
}
int main(){
int k=0;
while(~scanf("%c",word[n].ch[k])){ //每次输入一个字符,n表示当前是第几个单词,k表示是这个单词的第几个字母
if(word[n].ch[k]!=' ' word[n].ch[k]!='\n'){ //不是空格或空行说明还没有读完,k++,接着读下一个
k++;continue;
}
word[n].len=k-1; //计算这个单词的长度
maxlen=max(maxlen,word[n].len); //更新最长的单词长度
if(word[n].ch[k]==' ') k=0,n++; //如果读到空格,说明这个单词读完了
else{ //如果读到空行,说明这组数据读完了,开始输出这组数据的答案
sort(word,word+n+1,cmp); //将所有单词按照字典序排序
for(int i=0;i=n;i++)
if(word[i].len==maxlen) //如果长度等于最长的单词长度,这个单词就是最长单词
printf("%s",word[i].ch); //输出即可
putchar('\n');
for(int i=0;i=n;i++)
word[i].clean(); //将原来的数组清空
n=0;maxlen=0;k=0;
}
}
return 0;
}
上面这个是修改稿。
测试数据:
Hello sir are you satisfied with my answer ?
Yes I feel thankful of your answer .
How does it feel ?
It feels very good !
What feel it does ?
输出结果:
satisfied
thankful
does feel
feels
What does feel
最后一个What先输出不是错误哦...
因为W是大写...所以字典序比其他的小