c语言输出n个字符串中最长字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言输出n个字符串中最长字符串相关的知识,希望对你有一定的参考价值。

写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:用*作为结束输入的标志。)请哪位高数帮我看看怎么错了~ 初学者 实在是难为我啊~ 拜托了~#include<stdio.h>
#include<string.h>
int main()
char *max(char *max,char str[][20],int n);<br>char str[10][20],*p;int i,num;<br>printf("请输入字符串个数\n");<br>scanf("%d",&num);<br>for(i=0;i<num;i++)<br>printf("请输入第%d个字符串,用字符*结束输入\n",i+1);<br>scanf("%s",str[i]);
p=max(str[0],str,num);
do
printf("%c",*p++);
while(*p!='*');
printf("\n");
return 0;

char *max(char *max,char str[][20],int n)
int i;<br>for(i=0;i<n;i++)<br>if(strlen(str[0])<strlen(str[i+1]))<br>max=str[i+1];
return(max);

参考技术A #include<stdio.h>
#include<string.h>
int main()

char *max(char *max,char str[][20],int n);
char str[10][20],*p;int i = 0,num;
do

scanf("%s",str[i]);
while(strcmp(str[i++],"*")!=0);
puts(max(str[0],str,i));
return 0;

char *max(char *max,char str[][20],int n)

int i;
for(i=0;i<n;i++)

if(strlen(str[0])<strlen(str[i+1]))
max=str[i+1];

return max;

用c语言编程,编写一个函数,输入一行字符,将字符串中最长的单词输出。

参考技术A #include <stdio.h>
char *longest(char *p)
    char *t,max,n;
    while(*p==' ') p++;
    for(max=n=0,t=p;*p;p++)
        if(*p!=' ')
            n++;
        else
            if(max<=n)
                max=n,t=p-n;
            n=0;
        
    return max<=n ? p-n : t;

int main(void)
    char str[1000],*p;
    scanf("%[A-Z a-z]",str);
    for(p=longest(str);*p && *p!=' ';printf("%c",*p++));
    printf("\\n");
    return 0;

本回答被提问者和网友采纳

以上是关于c语言输出n个字符串中最长字符串的主要内容,如果未能解决你的问题,请参考以下文章

C语言输入五个字符串,找出最长的字符串,长度不够的在字符左边用*补齐后输出?

C语言编程:写一个函数,输入一行字符,将此字符串中最长的单词输出.

C语言找出最长的字符串。输入5个字符串,输入其中最长的字符串。

2. 用一个函数来实现将一行字符串中最长的单词输出。此行字符从主函数传递给该函数。C语言高手快出现

C语言题目找出最长的字符串. 输入5个字符串,输出最长的那个字符串。输入字符串调用scanf()

输入一行字符,将此字符串中最长的单词输出