среда, 15 января 2014 г.

Упражнение 1.17.

Напишите программу печати всех вводимых строк, содержащих более 80 символов.

#include <stdio.h>
#define MAXLINE 1000    /* максимальный размер вводимой строки */
#define MAXLENGTH 81    /* 80 символов + символ новой строки */

int getstr(char line[], int maxline);

int main(void)
{
    int len;    /* длина текущей строки */
    char line[MAXLINE]; /* текущая строка */

    while ((len = getstr(line, MAXLINE)) > 0 )
        if (len > MAXLENGTH) /* данная строка длиннее 80 символов*/
            printf("%s", line);
    return 0;
}

/* getstr: читает строку в s, возвращает длину */
int getstr(char s[], int lim)
{
    int c, i;

    for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
        s[i] = c;
    if (c == '\n')
    {
        s[i] = c;
        ++i;
    }
    s[i] = '\0';        /* в конец строки дописывам "0" */
    return i;   /* функция возвращает длину строки */
}

Комментариев нет:

Отправить комментарий