程序读入文本行,并把最长的文本行打印出来

阅读: 评论:0

程序读入文本行,并把最长的文本行打印出来

程序读入文本行,并把最长的文本行打印出来

《C程序设计语言》1.9

题目:读入一组文本行,并把最长的文本行打印出来

#include <stdio.h>
#define MAXLEN 1000//文本允许最长长度
/*程序读入一组文本行,并把最长的文本行打印出来*/
int getline(char str[], int MAXLIN);//输入文本行
void save(char from[], char to[]);//保存当前最长文本行

int main()
{
    char str[MAXLEN];//保存当前输入的文本
    char longest[MAXLEN];//保存最长文本

    int max = 0;//保存最长文本行的长度
    //max = 0;
    int len;//保存文本行的长度
    while((len=getline(str, MAXLEN)) != 0){
        if(len > max){
             max = len;
             save(str, longest);
        }
    }
    /*打印最长的文本行*/
    printf("%sn", longest);
    return 0;
}
//输入文本行
int getline(char str[], int MAXLIN)
{
    int len;//文本长度
    //int i = 0;
    char c;
    c = getchar();
    for(len = 0; c != 'n' && c != EOF && len < MAXLEN-1; len++){
        //len++;
        str[len] = c;
        c = getchar();
    }
    if(c == 'n'){
        str[len] = c;
        len++;
    }
    str[len] = '';
    return len;
}
//保存当前最长文本
void save(char from[], char to[])
{
    int i = 0;
    while(from[i] != ''){
        to[i] = from[i];
        i++;
    }
    to[i] = '';
}
 

写出来后总是编译有问题,和课本上的对照了一遍又一遍,最后的最后发现:将#define MAXLEN 中的MAXLIN心里当成了全局变量,所以一直感觉不用当作参数使用。

本文发布于:2024-02-02 09:49:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683857842997.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文本   并把   打印出来   最长   程序
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23