Заменить символы в строке и вывести полученную строку - C (СИ)
Формулировка задачи:
2. Дана символьная строка. Заменить все символы '+' на символы '-' кроме второго и вывести полученную строку.
"Кроме второго", не получается ввести в код, помогите
Листинг программы
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
- {
- char str[20];
- int n=0,i,j;
- //puts("vvedite stroku\n");
- gets(str);
- for(i = 0; i < strlen(str); i++)
- if(str[i]=='+')
- str[i]='-';
- for(i = 0; i < strlen(str); i++)
- printf("%c",str[i]);
- return 0;
- }
Решение задачи: «Заменить символы в строке и вывести полученную строку»
textual
Листинг программы
- #include <stdio.h>
- int main(void)
- {
- char str[255]="gfgfg+gfgf+ fggf+";
- int n=0, i=0, j, k=0;
- //puts("vvedite stroku\n");
- for(i = 0; str[i]; i++)
- {
- if(str[i]=='+')
- {
- ++k;
- if(k<2)
- {
- str[i]='-';
- }else break;
- }
- }
- ++i;
- for(; str[i]; i++)
- {
- if(str[i]=='+')
- {
- str[i]='-';
- }
- }
- printf("%s\n", str);
- return 0;
- }
Объяснение кода листинга программы
В этом коде заменяются все плюсы на минусы, если они не являются первым или вторым символом в строке. Вот список действий:
- Вводится строка
gfgfg+gfgf+ fggf+
. - Инициализируется переменная n (количество замен), i (индекс текущего символа) и k (счетчик числа плюсов).
- Цикл проходит по каждому символу строки.
- Если символ равен плюсу, увеличивается значение k.
- Если k меньше 2, заменяется текущий плюс на минус.
- Если k равно 2, заменяется только первый плюс на минус.
- Цикл проходит по каждому символу строки, начиная с индекса i, и заменяет все плюсы на минусы.
- Выводится итоговая строка
-gfgfg-gfgf- fggf-
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д