Помогите выполнить задание на языке Си
"Ввести предложение и заменить все имена Name на Name1 и наоборот"
C/C++
Программирование на языке Си
#include
#include
int main() {
char sentence[100];
printf("Введите предложение: ");
fgets(sentence, 100, stdin);
int len = strlen(sentence);
for (int i = 0; i < len; i++) {
if (sentence[i] == 'N' && sentence[i + 1] == 'a' && sentence[i + 2] == 'm' && sentence[i + 3] == 'e') {
if (sentence[i + 4] == '1') {
sentence[i + 4] = ' ';
} else {
sentence[i + 4] = '1';
}
i += 3;
} else if (sentence[i] == 'N' && sentence[i + 1] == 'a' && sentence[i + 2] == 'm' && sentence[i + 3] == 'e' && sentence[i + 4] == '1') {
sentence[i + 4] = ' ';
i += 3;
}
}
printf("Предложение после замены:\n%s", sentence);
return 0;
}
#include
#include
#include
void input(char* str, int limit)
{
char ch;
while ((ch = getchar()) != ' ' && ch != '\n')
{
if (--limit == 0) break;
*str++ = ch;
}
}
int main()
{
char word[25]{}, word1[25]{}, ch, tmp[25]{};
char* tmp_p = tmp;
puts("Enter word and word1");
input(word, 25);
input(word1, 25);
puts("Enter your sting");
do
{
ch = getchar();
if (ch == ' ' || ch == '\n')
{
if (*tmp)
{
*tmp_p = 0;
if (!strcmp(tmp, word)) printf("%s", word1); else
if (!strcmp(tmp, word1)) printf("%s", word); else
printf("%s", tmp);
*tmp == 0; tmp_p = tmp;
}
if(ch == ' ')putchar(ch);
}
else
*tmp_p++ = ch;
} while (ch != '\n');
}
Игорь Кателло
Спасибо!
#include <stdio.h>
#include <string.h>
int main()
{
char str[100], oldName[20], newName[20];
printf("Введите предложение: ");
scanf("%[^\n]s", str);
printf("Введите имя для замены: ");
scanf("%s", oldName);
printf("Введите новое имя: ");
scanf("%s", newName);
int len = strlen(oldName);
for (int i = 0; str[i] != '\0'; i++) {
int j;
if (str[i] == oldName[0]) {
for (j = 1; j < len; j++) {
if (str[i + j] != oldName[j])
break;
}
if (j == len) {
int k;
for (k = 0; newName[k] != '\0'; k++) {
str[i + k] = newName[k];
}
i += k - 1;
}
}
}
printf("Новое предложение: %s\n", str);
return 0;
}
#include <string.h>
int main()
{
char str[100], oldName[20], newName[20];
printf("Введите предложение: ");
scanf("%[^\n]s", str);
printf("Введите имя для замены: ");
scanf("%s", oldName);
printf("Введите новое имя: ");
scanf("%s", newName);
int len = strlen(oldName);
for (int i = 0; str[i] != '\0'; i++) {
int j;
if (str[i] == oldName[0]) {
for (j = 1; j < len; j++) {
if (str[i + j] != oldName[j])
break;
}
if (j == len) {
int k;
for (k = 0; newName[k] != '\0'; k++) {
str[i + k] = newName[k];
}
i += k - 1;
}
}
}
printf("Новое предложение: %s\n", str);
return 0;
}
Андрей Макаров
Я хз чё это если честно
Похожие вопросы
- Программирование. Основы языка Си.
- На каком языке программирования написан C (Си)?
- Решить задачу на языке СИ
- Написать код на языке си
- Написать программу на языке Си
- Помогите с решением задачи на языке СИ
- Си!!! БЕЗ УКАЗАТЕЛЕЙ, ЯЗЫК СИ
- Хелпаните, кто-нибудь! Программирование на языке С/С++.
- Упорядочить элементы массива по возрастанию на языке Си
- Создать файл ABONENT.dat, содержащий записи следующей структуры: ФИО абонента; его номер телефона. на языке си++
Затем мы используем цикл for для перебора каждого символа в предложении. Если мы обнаружим строку "Name" или "Name1", мы заменяем ее на "Name1" или "Name" соответственно. Мы делаем это, проверяя каждый символ в этой подстроке, чтобы убедиться, что это действительно строка "Name" или "Name1".
Наконец, мы выводим измененное предложение с помощью функции printf().