c语言函数最长单词 c语言最长平台

C语言输出一行字符串中最长的单词

代码如下:

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的澧县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

#包括 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

}

C语言用函数求字符串中最长单词.

#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,所以返回一个字符串

}

c语言函数的最长单词输出问题 新手求助大佬

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]);

}

C语言求最长单词

#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是大写...所以字典序比其他的小


网站栏目:c语言函数最长单词 c语言最长平台
文章链接:http://lszwz.com/article/dohdpge.html

其他资讯

售后响应及时

7×24小时客服热线

数据备份

更安全、更高效、更稳定

价格公道精准

项目经理精准报价不弄虚作假

合作无风险

重合同讲信誉,无效全额退款