замена слов в строке в СИ
Нужно написать код программы, пользователь вводит строку со словами и нужно заменит слова с 5 букв на компьютер, а с 4 букв удалить.
Я вот написала код, но проблема в том что у меня вводишь одно слово с 5 или 4 букв и оно заменяется, а если несколько слов то слова не заменяются. Помогите пожалуйста!
Код:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void new_string(char*);
int main()
{
char S[100];
printf ("input word:n");
gets(S);
int i = strlen(S);
if (strlen(S)==4)
{
printf(" ");
}
else
if(strlen(S)==5)
{
printf("компьютер");
}
getch();
return 0;
}
#include <string.h>
#include <conio.h>
void new_string(char*);
int main()
{
char S[100];
printf ("input word:n");
gets(S);
int i = strlen(S);
if (strlen(S)==4)
{
printf(" ");
}
else
if(strlen(S)==5)
{
printf("компьютер");
}
getch();
return 0;
}
Код:
#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <conio.h>
int main () {
char str[] = "ку-ку ля-ля упса упс ля-ля";
const char *delim = " ";
char *p = strtok (str, delim);
setlocale(LC_ALL, "");
while ( p ) {
if ( 4 == strlen(p) ) {
/* ничего не печатаем */
} else if( 5 == strlen(p) ) {
printf("компьютер ");
}
else printf ("%s ", p);
p = strtok (0, delim);
}
getch();
return 0;
}
#include <string.h>
#include <locale.h>
#include <conio.h>
int main () {
char str[] = "ку-ку ля-ля упса упс ля-ля";
const char *delim = " ";
char *p = strtok (str, delim);
setlocale(LC_ALL, "");
while ( p ) {
if ( 4 == strlen(p) ) {
/* ничего не печатаем */
} else if( 5 == strlen(p) ) {
printf("компьютер ");
}
else printf ("%s ", p);
p = strtok (0, delim);
}
getch();
return 0;
}
Цитата: sadovoya
Если разделитель слов -- пробел, то можно так:
Ну, ввод строки сами умеете, допишите.
Код:
#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <conio.h>
int main () {
char str[] = "ку-ку ля-ля упса упс ля-ля";
const char delim[] = " ";
char *p = strtok (str, delim);
setlocale(LC_ALL, "");
while ( p ) {
if ( 4 == strlen(p) ) {
printf("");
} else if( 5 == strlen(p) ) {
printf("компьютер ");
}
else printf ("%s ", p);
p = strtok (0, delim);
}
getch();
return 0;
}
#include <string.h>
#include <locale.h>
#include <conio.h>
int main () {
char str[] = "ку-ку ля-ля упса упс ля-ля";
const char delim[] = " ";
char *p = strtok (str, delim);
setlocale(LC_ALL, "");
while ( p ) {
if ( 4 == strlen(p) ) {
printf("");
} else if( 5 == strlen(p) ) {
printf("компьютер ");
}
else printf ("%s ", p);
p = strtok (0, delim);
}
getch();
return 0;
}
спасибо огромное, ввод строк доделала всё работает
Код:
...
if ( 4 == strlen(p) ) {
/* ничего не печатаем */
} else ...
if ( 4 == strlen(p) ) {
/* ничего не печатаем */
} else ...