C语言输出最长字符串

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_ROW 5
int main() {
 printf(“输入字符串:\n”);
 char arr[MAX_ROW][1000];
 for (int i = 0; i < MAX_ROW; i++) {
  fgets(arr[i], 1000, stdin);
 }
 int max = 0;
 int j = 0;
 for (int j = 1; j < MAX_ROW; j++) {
  if (strlen(arr[j]) >= strlen(arr[max])) {
   max=j;
  }
 }
 printf(“最长字符串是:\n”);
 fputs(arr[max], stdout);
 system(“pause”);
 return 0;
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好!可以使用以下代码实现您的需求: ```c #include <stdio.h> #include <string.h> #define MAX_LENGTH 100 // 假设最长字符串长度不超过100 int main() { char str[5][MAX_LENGTH]; int max_index = 0; int i; // 输入五个字符串 for (i = 0; i < 5; i++) { printf("请输入第%d个字符串:", i+1); scanf("%s", str[i]); } // 比较五个字符串长度 for (i = 1; i < 5; i++) { if (strlen(str[i]) > strlen(str[max_index])) { max_index = i; } } // 输出最长字符串 printf("最长字符串是:%s\n", str[max_index]); return 0; } ``` 代码中使用了一个字符串数组 `str` 来存储五个输入的字符串,然后通过遍历比较字符串长度的方式找到最长字符串。其中 `MAX_LENGTH` 定义了字符串最大长度,可以根据实际情况进行修改。 ### 回答2: 要解决这个问题,我们可以使用C语言中的字符串操作函数来比较并找到最长字符串。 首先,我们需要定义5个字符串类型的变量,表示输入的五个字符串。假设这五个字符串分别为str1、str2、str3、str4和str5。 接下来,我们可以使用strlen()函数来获取每个字符串长度,并将其与之前找到的最长长度进行比较。我们可以创建一个变量maxLen,并将其初始值设为0,用于保存当前最长字符串长度。 然后,我们可以使用if语句来比较每个字符串长度,并更新maxLen的值。如果某个字符串长度大于maxLen,我们将maxLen的值更新为该字符串长度。 最后,我们可以使用printf()函数来输出最长字符串。根据之前比较得到的maxLen的值,我们可以使用if语句来确定哪个字符串长度最长的,并将其打印出来。 下面是一个解决方案的示例代码: ```c #include <stdio.h> #include <string.h> int main() { char str1[100], str2[100], str3[100], str4[100], str5[100]; int maxLen = 0; printf("输入五个字符串:\n"); scanf("%s %s %s %s %s", str1, str2, str3, str4, str5); if (strlen(str1) > maxLen) maxLen = strlen(str1); if (strlen(str2) > maxLen) maxLen = strlen(str2); if (strlen(str3) > maxLen) maxLen = strlen(str3); if (strlen(str4) > maxLen) maxLen = strlen(str4); if (strlen(str5) > maxLen) maxLen = strlen(str5); printf("最长字符串是:"); if (maxLen == strlen(str1)) printf("%s\n", str1); else if (maxLen == strlen(str2)) printf("%s\n", str2); else if (maxLen == strlen(str3)) printf("%s\n", str3); else if (maxLen == strlen(str4)) printf("%s\n", str4); else if (maxLen == strlen(str5)) printf("%s\n", str5); return 0; } ``` 以上就是一个简单的解决方案,能够输入五个字符串,并输出最长字符串。 ### 回答3: 首先,我们定义一个字符数组 `str[5][100]`,可以存储五个最大长度为99的字符串。然后,我们使用 `for` 循环来输入五个字符串并存储到这个数组中。接着,我们使用另一个循环来比较这五个字符串长度,找到最长字符串。 下面是具体的代码实现: ```c #include <stdio.h> #include <string.h> int main() { char str[5][100]; int max_len = 0; // 最长字符串长度 int max_index = 0; // 最长字符串的下标 // 输入五个字符串 for (int i = 0; i < 5; i++) { printf("请输入第%d个字符串:", i + 1); scanf("%s", str[i]); } // 比较五个字符串长度找到最长字符串 for (int i = 0; i < 5; i++) { int len = strlen(str[i]); if (len > max_len) { max_len = len; max_index = i; } } // 输出最长字符串 printf("最长字符串是:%s\n", str[max_index]); return 0; } ``` 以上代码会依次提示用户输入五个字符串,并找到其中最长字符串输出。注意,这里假设输入的每个字符串不超过99个字符长。如果需要更长的字符串长度,请相应调整 `char str[5][100]` 这一行的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值