Точки заменить их порядковым номером - C (СИ)
Формулировка задачи:
Задание звучит так: заменить все точки цифрами, с соответствующими им номерами.
Написал этот код. Но тут проверка уже на самом выводе. Подскажите, как поменять в самой строке?
#include "stdafx.h"
#include "string.h"
#include "locale.h"
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(0, "RUS");
char str[500];
printf("Введите начальный текст (до 500 символов)\n");
gets_s(str);
printf("\nHачальный текст:\n");
puts(str);
printf("\nКонечный текст\n");
for (int i=0; i < strlen(str); i++)
{
if (str[i] == '.')
printf("%d", i+1);
else printf("%c", str[i]);
}
_gettch();
return 0;
}Решение задачи: «Точки заменить их порядковым номером»
textual
Листинг программы
for(i=0; i < strlen(str); i++){
if(str[i] == '.') str[i] = i;
printf("%c", str[i]);}
Объяснение кода листинга программы
В данном коде выполняется замена всех точек в строке на их порядковый номер. Выполняется это с помощью цикла for, который проходит по каждому символу строки. Условие цикла — i < strlen(str), то есть он выполняется до тех пор, пока не будет пройдена вся строка. Внутри цикла проверяется, является ли текущий символ точкой (str[i] == '.'). Если это так, то вместо него записывается его порядковый номер (i). Затем с помощью функции printf выводится текущий символ (str[i]). Таким образом, после выполнения данного кода все точки в строке будут заменены на их порядковый номер.