用c。编写一个c程序,输入一个字符串,以回车结束(字符串长度不超过100)。 该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
时间: 2024-12-18 17:30:35 浏览: 8
以下是一个简单的C语言程序,它会接收用户输入的字符串,提示用户选择要替换的单词及其新值,并输出替换后的字符串:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
void replace_word(char str[], char old_word[], char new_word[]) {
int index = -1;
size_t len;
// 遍历字符串查找旧词
for (len = 0; len < strlen(str); len++) {
if (strstr(&str[len], old_word)) {
index = len;
break;
}
}
// 如果找到旧词,替换
if (index != -1) {
memmove(&str[index + strlen(new_word)], &str[index + strlen(old_word)], strlen(&str[strlen(old_word)]) - 1);
strcpy(&str[index], new_word);
} else {
printf("替换的单词未在字符串中找到。\n");
}
}
int main() {
char input[MAX_LENGTH];
char old_word[50];
char new_word[50];
printf("请输入一个字符串(不超过100字符,单词间以空格分隔),然后按回车键:\n");
fgets(input, MAX_LENGTH, stdin);
// 去除输入字符串的换行符
input[strcspn(input, "\n")] = '\0';
printf("请输入要替换的单词:");
fgets(old_word, sizeof(old_word), stdin);
old_word[strcspn(old_word, "\n")] = '\0'; // 去除换行符
printf("请输入新单词:");
fgets(new_word, sizeof(new_word), stdin);
new_word[strcspn(new_word, "\n")] = '\0'; // 去除换行符
replace_word(input, old_word, new_word);
printf("替换后的字符串:%s\n", input);
return 0;
}
```
运行此程序后,按照提示依次输入原始字符串、要替换的单词和新单词,程序会显示替换结果。
阅读全文