пятница, 21 ноября 2014 г.

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

Напишите функцию lower, которая переводит большие буквы в малые, используя условное выражение (а не конструкцию if-else).


#include <stdio.h>
#define MAXLINE 1000

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

int main(void)
{
  int len = 0;
char line[MAXLINE];

while ((len = getstr(line, MAXLINE)) > 0)
{
        printf("%s", line);
}

return 0;
}


int getstr(char s[], int lim)
{
    int c, i;

for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
s[i] = lower(c);

    if (c == '\n')
{
s[i] = c;
++i;
  }
    s[i] = '\0';
return i;
}

int lower(int c)
{
    return (c >= 'A' && c <= 'Z') ? c + 'a' - 'A' : c;
}

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

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