C语言字符串操作菜单:输入、统计、查找、插入、删除、替换
#include <stdio.h> #include <string.h>
int main() { char str[1000]; int choice; printf("请选择菜单:\n"); printf("1. 输入一个字符串,原样输出\n"); printf("2. 对输入字符串统计字符个数\n"); printf("3. 查找某个字符在字符串中第一次出现的位置\n"); printf("4. 在字符串的指定位置插入一个字符\n"); printf("5. 删除字符串中的某个字符\n"); printf("6. 指定字符串从某位置开始由某个字符替换\n"); printf("7. 将字符串中的某个字符替换成指定字符\n"); scanf("%d", &choice); printf("请输入字符串:\n"); scanf("%s", str); switch(choice) { case 1: printf("%s\n", str); break; case 2: printf("字符个数:%d\n", strlen(str)); break; case 3: char c; printf("请输入要查找的字符:\n"); scanf(" %c", &c); char *p = strchr(str, c); if(p) { printf("第一次出现的位置:%d\n", p - str); } else { printf("未找到该字符\n"); } break; case 4: int pos; char ch; printf("请输入要插入的位置和字符:\n"); scanf("%d %c", &pos, &ch); if(pos < 0 || pos > strlen(str)) { printf("插入位置无效\n"); } else { memmove(str + pos + 1, str + pos, strlen(str) - pos + 1); str[pos] = ch; printf("插入后的字符串:%s\n", str); } break; case 5: int index; printf("请输入要删除的字符位置:\n"); scanf("%d", &index); if(index < 0 || index >= strlen(str)) { printf("删除位置无效\n"); } else { memmove(str + index, str + index + 1, strlen(str) - index); printf("删除后的字符串:%s\n", str); } break; case 6: int start; char old_c, new_c; printf("请输入要替换的起始位置、原字符和新字符:\n"); scanf("%d %c %c", &start, &old_c, &new_c); for(int i = start; i < strlen(str); i++) { if(str[i] == old_c) { str[i] = new_c; } } printf("替换后的字符串:%s\n", str); break; case 7: char old_ch, new_ch; printf("请输入要替换的字符和新字符:\n"); scanf(" %c %c", &old_ch, &new_ch); for(int i = 0; i < strlen(str); i++) { if(str[i] == old_ch) { str[i] = new_ch; } } printf("替换后的字符串:%s\n", str); break; default: printf("无效的选择\n"); break; } return 0; }
原文地址: https://www.cveoy.top/t/topic/gxWF 著作权归作者所有。请勿转载和采集!