输入一个字符串将此字符串中最长的单词输出,输入的单词之间是有空格的
#include
int main()
{char s[200];
int max=0,i,j,b,e,bm,em;
bm=em=0;
gets(s);
for(i=0;s[i];)
{while(s[i]&&s[i]==' ')i++;
b=i;
while(s[i]&&s[i]!=' ')i++;
e=i;
if(e-b>em-bm){em=e;bm=b;}
}
s[em]='\0';
printf("%s",&s[bm]);
}
#include<stdio.h>
#include<string.h>
void longword(char s[],char t[]);//定义最长单词函数
int main()
{
char str[30],lg[20];
gets(str);//输入一行字符
longword(str,lg);//调用最长单词函数
puts(lg);//输出最长单词
return 0;
}
//最长单词函数
void longword(char s[],char t[])
{
int i,j,n,k,m,word;
char p[20];
n=strlen(s);
m=0;
word=0;
for(i=0,j=0,k=0;i<=n;i++){
if((s>='a'&&s<='z')
||(s>='A'&&s<='Z')){
word=1;
p[j++]=s;
}
else if(word==1){
if(j>k){
for(m=0;m<j;m++)
t[m]=p[m];
t[m]='\0';
k=j;
}
word=0;
j=0;
}
}
}
扩展资料:include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
#include <stdio.h>
int main()
{
char string[100]={0};
int length[20]={0}, position[20]={0};
int i, j, k, flag, max;
j=0;
k=0;
flag=0;
printf("Please input words:
");
gets(string);
for(i=0; i<100; i++)
{
if(string[i]==' '||string[i]==0 )
{
position[j]=i-1;
j++;
if(j==1)
{
length[k]=position[0]+1;
k++;
}
else
{
length[k]=position[j-1]-position[j-2]-1;
k++;
}
}
if(string[i]==0)
{
break;
}
}
max=length[0];
for(i=0; i<k; i++)
{
if(max<length[i])
{
max=length[i];
flag=i;
}
}
for(i=position[flag]-max+1; i<(position[flag]+1); i++)
{
printf("%c",string[i]);
}
return 0;
}
楼主注意:
输入字母和空格个数不超过100个
单词个数不超过20个
如果要超过范围的话,需要修改程序。
楼主不懂的地方可以问我。
求采纳,么么哒~
不应该
...写一个函数,输入一行字符,将此字符串中最长的单词输出.用最简单的方...
include "ctype.h"main(){ char str[50];char str1[50][20];char str2[20];int i,j,t;gets(str);j=0,t=0;for(i=0;str[i];i++) \/*提取字符串中的单词,但是输入时每个单词之间只允许*\/ { \/*有一个字符如空格,逗号只有句末才能用句号*\/ if(isalnum(str[i])){ str...
用函数实现:输入一行字符,将此字符串中最长的单词输出
下面是关键,适应strlen()字符串的长度和字符串的比较strcmp(),还有字符串的赋值strcpy()我会使用字符串的冒泡排序让输入的字符串从大到小排列,那么数组的第一个字符串就是最长的.\/ for(i=1;i<=5;i++)\/\/需要比较字符串的个数 { for(j=0;j<5-i;j++)\/\/需要比较的伦数,因为没比较一次就会...
C语言编程:写一个函数,输入一行字符,将此字符串中最长的单词输出.
(a<c)|| (ac))printf("\\n d 为位于中间的数\\n",a);if((b>a)&& (b<c)|| (bc))printf("\\n d 为位于中间的数\\n",b);if((c>b)&& (c<a)|| (ca))printf("\\n d 为位于中间的数\\n",c);} 这个是几个数中输出最大的数的!
...写一个函数,输入一行字符,将此字符串中最长的单词输出 请高人指教哪 ...
include "stdio.h"include <string.h> void main(){ void PrintLongWord(char arry[]);char arr[1000];char c;int flag = 1;while(1){ printf("请输入字符串:");gets(arr);PrintLongWord(arr);printf("是否继续?(Y\/N):");scanf("%c",&c);if(c == 'n'||c == 'N')break;...
编写一个函数,输入一行字符,将此字符串中最长单词输出。
include<stdio.h> include<string.h> void longword(char s[],char t[]);\/\/定义最长单词函数 int main(){ char str[30],lg[20];gets(str);\/\/输入一行字符 longword(str,lg);\/\/调用最长单词函数 puts(lg);\/\/输出最长单词 return 0;} \/\/最长单词函数 void longword(char s[],char t...
编写一个函数,输入一行字符,将此字符串中最长单词输出。
也不用这么复杂!请参考如下代码:include<stdio.h> include<string.h> char a[80],b[80],c[80];void longest(char a[]);int main(){ gets(a);longest(a);printf("%s\\n",c);return 0;} int alpha(char c){ if(c>='a'&&c<='z'||c>='A'&&c<='Z')return 1;else return...
...写一个函数,输入一行字符,将此字符串中的最长的单词输出。谢谢,在 ...
str[80];printf("输入一行字符串\\n\\n");gets(str);printf("\\n\\n最长的单词为:\\n\\n");for(i=longest(str);word(str[i]);i++)printf("%c",str[i]);printf("\\n");} int word(char c){ if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) return 1;else return 0;} ...
...字符串(该行字符串中有空格),写一个子函数,将此字符串中最长的...
include<stdio.h>#include <string.h>void max(char a[])\/\/函数求最长单词{ int i,j; int count = 0; int max = 0; char b[100]; int k; for(i = 0; i <= strlen(a); i++) { if(a[i] != ' ' && a[i] !='\\t' && a[i]!= '\\0' ...
...写一个函数,输入一行字符,将此字符串中最长的单词输出
一行中如果输入的是一个个的单词以空格隔开的话,可以用split分割了之后存到数组再判断
用c语言写一个函数,输入一行字符,将此字符串中最长的单词输出。要有详细...
更多关于字符串的知识 > 网友都在找: 写一个函数 输入一行字符 将此字符串中最长的单词输出 正在求助 换一换 回答问题,赢新手礼包 苦等1分钟: 除了秋月爱莉脸,还有哪些动漫界的知名脸型 回答 苦等15分钟: 男人为何喜欢20多岁的女人 回答 苦等23分钟: java编译找不到符号 回答 苦等33分钟: 显卡常见...