Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/75: Рейтинг темы: голосов - 75, средняя оценка - 4.71
0 / 0 / 2
Регистрация: 28.04.2016
Сообщений: 58
1

Изменение регистра символов в строке

03.05.2016, 16:44. Показов 13580. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана строка только из прописных букв. Нужно преобразовать ее так, чтобы первая буква после точки была прописной, а остальные - строчными. Сделал только ввод строки
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main(int argc, const char * argv[])
{
    char s1[20];
        fflush(stdin);
        printf("vvedite stroky propisnih simvoov: \n");
        scanf("%s", &s1[0]);
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2016, 16:44
Ответы с готовыми решениями:

Изменение регистра символов
есть задачка, нужно изменить регистр всех символов ряда на противоположный. Я пытался написать...

Изменение регистра символов
Здравствуйте, у меня в событии KeyPress Edit'а для того, чтобы в нем писалось только с большой...

Изменение регистра символов в строках
Здравствуйте, данный код: #!/usr/bin/python3 # -*- coding: utf-8 -*- print &quot;string...

Изменение регистра в строке
Есть список фамилий, если фамилия введена с маленькой буквы, то исправить на заглавную....

4
Заблокирован
03.05.2016, 16:56 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <ctype.h>
 
int main( int argc, char** argv)
{
    char s1[20], *c;
    fflush(stdin);
    printf("vvedite stroky propisnih simvoov: \n");
    fgets(s1, 20, stdin);
    s1[0] = toupper(s1[0]);
    for (c = s1 + 1; *c; ++c)
        *c = tolower(*c);
    puts(s1);
    getchar();
    return 0;
}
1
0 / 0 / 2
Регистрация: 28.04.2016
Сообщений: 58
03.05.2016, 17:29  [ТС] 3
Спасибо большое. Но после точки все символы выводятся в малом регистре.
0
Заблокирован
03.05.2016, 18:02 4
А, что-то я пропустил в условии. Ну, просто добавь проверку на точку и поменяй символ после нее. Подумай хоть немного сам для разнообразия, как изменить код.
0
0 / 0 / 2
Регистрация: 28.04.2016
Сообщений: 58
03.05.2016, 20:41  [ТС] 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот что получилось). Еще раз спасибо.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include <ctype.h>
 
int main( int argc, char** argv)
{
    int i=0, j;
    char s1[100], *c;
    fflush(stdin);
    printf("vvedite stroky propisnih simvoov: \n");
    fgets(s1, 100, stdin);
    s1[0] = toupper(s1[0]);
    for (c = s1 + 1; *c; ++c)
        *c = tolower(*c);
    while(i < 100){
        if (s1[i++] == '.')
            for (j = i ; j < 100; j++)
                if (!isspace(s1[j]))
                {
                    s1[j] = toupper(s1[j]);
                    break;
                }
    }
    puts(s1);
    getchar();
    return 0;
}
0
03.05.2016, 20:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2016, 20:41
Помогаю со студенческими работами здесь

Подсчет слов и изменение регистра символов
Здравствуйте! помогите, пожалуйста! заранее благодарю. Введена строка, которая содержит текст,...

Изменение регистра букв в строке
Помогите пожалуйста написать программу. Нужно задать строку из строчных и заглавных букв и...

Изменение регистра всех символов строки на противоположный
Помогите, не знаю как сделать, что бы программа запрашивает ввод строки и переводит символы...

Инверсия регистра символов в строке
Инверсия регистра символов в строке. (малые заменить на большие и наоборот). Есть программа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru