Advertisement
Guest User

Untitled

a guest
Jan 8th, 2013
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.24 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MAXLINE 1000 /* максимальный размер вводимой строки */
  3.  
  4. int getline(char line[], int MAXLINE);
  5. void copy(char to[], char from[]);
  6.  
  7. /* печать самой длинной строки */
  8. main()
  9. {
  10.     int len; /* длина текущей строки */
  11.     int max; /* длина максимальной из просмотренных строк */
  12.     char line[MAXLINE]; /* текущая строка */
  13.     char longest[MAXLINE]; /* самая длинная строка */
  14.    
  15.     max = 0;
  16.     while (len = getline(line, MAXLINE)) > 0)
  17.         if (len > max)
  18.         {
  19.             max = len;
  20.             copy(longest, line);
  21.         }
  22.     if (max > 0) /* была ли хоть одна строка? */
  23.         printf("%s", longest);
  24.     return 0;
  25. }
  26.  
  27. /* getline: читает строку в s, возвращает длину */
  28. int getline(char s[], int lim)
  29. {
  30.     int c, i;
  31.    
  32.     for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
  33.         s[i] = c;
  34.     for (c == '\n')
  35.     {
  36.         s[i] = c;
  37.         ++i;
  38.     }
  39.     s[i] = '\0';
  40.     return i;
  41. }
  42.  
  43. /* copy: копирует из 'from' в 'to'; to достаточно большой */
  44. void copy(char to[], char from[])
  45. {
  46.     int i;
  47.    
  48.     i = 0;
  49.     while ((to[i] = from[i]) != '\0')
  50.         ++i;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement