Разделить все символы заданной строки пробелами - C (СИ)
Формулировка задачи:
Можете помочь написать алгоритм решения сей задачи)
Дана строка. Разделить все символы заданной строки пробелами.
Можете подкоректировать что тут не так?
#include <stdio.h>
#include <string.h>
main() {
char str[80];
char str1[80];
int i,n;
printf ("vvedite slovo");
scanf ("%s",str);
n=strlen(str);
str1[0]=str[0];
for(i=1;i<=n;i++){
str1[i*2+1]=" ";
str1[i*2]=str[i];
}
printf("str1[%s]",str1);
}Решение задачи: «Разделить все символы заданной строки пробелами»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <locale.h>
#define N 81
#define M 162
int main(void){
setlocale(LC_ALL, "Ru");
char str[N];
char strl[M]="";
int i,l,j=0;
fgets(str,N,stdin);
l=strlen(str);
for(i=0;i<l;i++){if(str[i]!=' '){strl[j]=str[i];j++;strl[j]=' ';j++;}
}
printf("%s\n",strl);
return(0);
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками.
- Определение размеров массивов строк.
- Установка локали на русскую.
- Ввод строки с помощью функции fgets().
- Вычисление длины строки с помощью функции strlen().
- Пройтись по всем символам в строке.
- Если символ не является пробелом, то добавить его в новую строку.
- После каждого не пробельного символа добавлять пробел.
- Вывести полученную строку с помощью функции printf().
- Вернуть 0, чтобы указать, что программа успешно завершилась.