2301_77369282 2023-04-04 12:27 采纳率: 0%
浏览 9

C语言文件题,找最长字符串

在main函数中创建一个文件,将m个字符串写入文件中。打开该文件,读出所有字符串,并找出最长的一个字符串,将其保存到另一个文件中。要求:m、字符串由键盘输入。

  • 写回答

2条回答 默认 最新

  • 语言-逆行者 2023-04-04 12:38
    关注
    
    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
    int m, i, max_len = 0;
    char str[100], max_str[100], filename[20];
    FILE *fp;
    
    printf("请输入要写入的字符串个数:");
    scanf("%d", &m);
    
    // 打开文件并写入字符串
    fp = fopen("strings.txt", "w");
    for (i = 0; i < m; i++) {
        printf("请输入第%d个字符串:", i + 1);
        scanf("%s", str);
        fprintf(fp, "%s\n", str);
    }
    fclose(fp);
    
    // 读取文件并找出最长的字符串
    fp = fopen("strings.txt", "r");
    while (fscanf(fp, "%s", str) != EOF) {
        if (strlen(str) > max_len) {
            max_len = strlen(str);
            strcpy(max_str, str);
        }
    }
    fclose(fp);
    
    // 将最长的字符串保存到文件中
    printf("最长的字符串为:%s\n", max_str);
    printf("请输入要保存到的文件名:");
    scanf("%s", filename);
    fp = fopen(filename, "w");
    fprintf(fp, "%s", max_str);
    fclose(fp);
    
    return 0;
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月4日