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

Posted

tags:

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

只要求输出最长的,所以没有必要把5个字符串都存储下来。举例如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "string.h"
int main(void)
    char a[100],la[100],i;
    printf("please enter 5 strings...\\n");
    for(*la='\\0',i=0;i<5;i++)
        if(scanf("%s",a),strlen(a)>strlen(la))//总是保留较长的
            strcpy(la,a);
    printf("The longest string is %s\\n",la);
    printf("\\n");
    return 0;

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

int i,tmp;
char str[5][N];
printf("please input 5 strings:\n");
for(i=0;i<5;i++)
scanf("%s",str[i]);
if(strlen(str[tmp])<strlen(str[i]))
tmp=i;

printf("最长的字符串是:%s\n",str[tmp]);
参考技术B #include <stdio.h>
#define N 200
int main()

int i,tmp;
char str[5][N];
printf("please input 5 strings:\n");
for(i=0;i<5;i++)
scanf("%s",str[i]);
if(strlen(str[tmp])<strlen(str[i]))
tmp=i;

printf("最长的字符串是:%s\n",str[tmp]);
system("pause");
参考技术C #include <stdio.h>
#include <string.h>

#define N 5

int main()

char str[N][100];

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

scanf("%s", str[i]);


int n = 0;
int length = strlen(str[0]);

for (int i = 1; i < N; i++)

if (strlen(str[i]) > length)

length = strlen(str[i]);
n = i;



printf("Longest:str[%d] = \"%s\"\n", n, str[n]);

return 0;
参考技术D #include <stdio.h>
#include <string.h>
char *fun(char c[][20])
int i,len;char *p;
p=c[0];
for(i=0;i<5;i++)
len=strlen(c[i]);
if(len>strlen(p))p=c[i];

return p;

main()
char a[5][20],*r;int i,j;
printf("\nPlease Enter 5 strings:\n");
for(i=0;i<5;i++)
scanf("%s",a[i]);
r=fun(a);
printf("\nThe longest string is:\n");
printf("%s\n",r);

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

这函数 我怎么没见过 是c语言吗

#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\\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;


int longest(char str[])【这个函数几乎完全看不懂 望逐句详细解释其逻辑】

int i,flag=1,len=0,point,max_len=0,max_point;
for(i=0;i<=strlen(str);i++)//解析每个字符

if(word(str[i])) //是英文字母的话

if(flag==1) //成立的话说明这个英文字母是单词的第一个

point=i; //单词第一个找到后改变标志
flag=0;

else len++; //开始对这个单词长度进行累加

else //非英文字母的话

flag=1; //等待第一个英文字母的出现,所以flag=1(要是下一个是英文字母的话就能执行上面的if)
if(len>max_len)//之前累加的单词长度是否比上一个单词更长(第一次的话max_len初始化为0,len必大于max_len)

max_len=len;//将单词长度保存下来
max_point=point;//将最长单词的第一个英文字母在字符串中的位置保存下来

len=0;


return (max_point);
参考技术A #include <string>
#include <iostream>
using namespace std;

int main()

string s, t;
while (cin >> s)
if (s.size() > t.size()) t = s;
cout << t << endl;
return 0;

以上是关于C语言题目找出最长的字符串. 输入5个字符串,输出最长的那个字符串。输入字符串调用scanf()的主要内容,如果未能解决你的问题,请参考以下文章

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

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

c语言,从字符串中找出最长的,并输出。

字符串中找出连续最长的数字串(正则表达式)

C语言:从键盘输入10个字符串,找出一个最长的字符串。

ZZNUOJ_用C语言编写程序实现1170:最长字符串(指针专题)(附完整源码)