C语言 在主函数中输入一行字符串(该行字符串中有空格),写一个子函数,将此字符串中最长的单词输出。

如果同时有多个最长的单词,输出第一个。

#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' )
             count ++;
        else if(a[i] == ' ' || a[i] == '\t' || a[i] == '\0')
         {
             if(max < count)
             {
                 k=0;
                 max = count;
                 for(j = i-max; j < i; j++)
                     b[k++] = a[j];
                b[k] = '\0';
             }
              count = 0;
         }
     }
     printf("最长单词为:");
     puts(b);
}
int main()
{
    char a[80];
    gets(a);
    max(a);
}

追问

本来只要together  逗号怎么办

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言,在主函数中插曲一个字符串,在输入一个字符,编写函数count,统计...
include <stdio.h>#include <string.h>int fun(char s[],char ch){unsigned i,n=0;for(i=0;i<=strlen(s);i++)if(s[i]==ch) n++;return n;}void main(){char ch,s[80];gets(s);scanf("%c",&ch);printf("%d",fun(s,ch));}\/\/运行示例:

C语言编程:写一个函数,输入一行字符,将此字符串中最长的单词输出...
&& (c>a))printf("\\n d 为位于中间的数\\n",c);} 这个是几个数中输出最大的数的!

C语言:用函数编写一个程序,从键盘输入一个带有空格的字符串,去掉字符串...
1、首先,随便创建一个有main方法的类。2、定义一个字符串变量,这里给变量赋值,前后都留有一个空格。3、先运行一遍,看输出效果,可以看到百度包括空格的几个字符都打印出来了。4、为了更加清晰,用字符串对象另外一个方法“length()”得到此字符串的长度为6, 说明的确是“百度”加两个空格的长度。

...此字符串中字母,数字,空格和其他字符的个数,在 主函数中输入字...
include <stdio.h> include <string.h> int letter,number,blank,other;void count(char str[]){ int i;for(i=0;str[i]!='\\0';i++){ if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))letter++;else if(str[i]>='0'&&str[i]<='9')number++;else...

C语言编程在主函数中输入一个字符串利用函数求得字符串中大写字母小写字...
include <stdio.h>#include <ctype.h>int main(void){ char ch[100]; void count(char * p); printf("请输入字符串 : "); gets(ch); count(ch); return 0;}void count(char * p){ int upp=0, low=0, digi=0, spa=0, oth=0; for (int i = 0; p[i]; ++i) { if ...

编写一个函数,输入一行字符,将此字符串中最长单词输出。
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 ...

...使输入的一个字符串按反序存放,在主函数中输入和输出字符
void reverse(char st[]);\/\/定义反序函数 int main(){ char s[20];input(s);\/\/调用输入函数 printf("Original string: %s\\n", s);\/\/输出原字符串 reverse(s);\/\/调用反序函数 printf("New string: %s\\n", s);\/\/输出反序后的字符串 return 0;} void input(char st[]){ printf(...

C语言 :写一个函数 输入一行字符 将此字符串中最长的单词输出
C语言 :写一个函数 输入一行字符 将此字符串中最长的单词输出 悬赏分:0 - 离问题结束还有 14 天 23 小时 8-10#include <iostream>void main(){ int word(char c); int longest(char str[]); int i; char str[80]; printf("输入一行字符串\\n\\n"); gets(str); printf("\\n\\n最长的单词为:\\n...

...使输入的一个字符串按反序存放,在主函数中输入和输出字符
include <string.h> void f(char str[]);main(){ static char str[100]; \/\/设置为静态让方法调用时改变 gets(str);f(str);puts(str);} void f(char str[]){ int len = strlen(str),i;char c;for(i=0;i<len\/2;i++){ c = str[i];str[i] = str[len -i -1];str[...

...有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的...
s1)会返回20,但这明显不是你需要的 gets(s1); printf("输入字符串为:%s ",s1); \/\/这里用strlen(s1)可以得到实际字符串长度 scanf("%d",&m); printf("m的值为:%d",m); copy(s1,s2,m); printf("result:%s\\n",s2); return 0;}void copy(...

相似回答