使用C语言设计系统主界面要求选择菜单对应数学进入如下功能:1 输入一个字符串原样输出2 对输入字符串统计字符个数3 查找某个字符在字符串中第一次出现的位置4 在字符串的指定位置插入一个字符 5 删除字符串中的某个字符6 指定字符串从某位置开始由某个字符替换7 将字符串中的某个字符替换成指定字符如把所有的字符a替换成c
#include <stdio.h> #include <string.h>
int main() { char str[100]; 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 == NULL) { printf("没有找到该字符\n"); } else { printf("该字符第一次出现的位置为:%ld\n", p - str); } break; } case 4: { char c; int pos; printf("请输入要插入的字符:\n"); scanf(" %c", &c); printf("请输入要插入的位置(从0开始):\n"); scanf("%d", &pos); int len = strlen(str); if (pos < 0 || pos > len) { printf("插入位置不合法\n"); } else { for (int i = len; i >= pos; i--) { str[i + 1] = str[i]; } str[pos] = c; printf("插入后的字符串为:%s\n", str); } break; } case 5: { char c; printf("请输入要删除的字符:\n"); scanf(" %c", &c); int len = strlen(str); int i, j; for (i = 0, j = 0; i < len; i++) { if (str[i] != c) { str[j++] = str[i]; } } str[j] = '\0'; printf("删除后的字符串为:%s\n", str); break; } case 6: { char c1, c2; int pos; printf("请输入要替换的字符:\n"); scanf(" %c", &c1); printf("请输入替换后的字符:\n"); scanf(" %c", &c2); printf("请输入要替换的起始位置(从0开始):\n"); scanf("%d", &pos); int len = strlen(str); if (pos < 0 || pos >= len) { printf("替换位置不合法\n"); } else { for (int i = pos; i < len; i++) { if (str[i] == c1) { str[i] = c2; } } printf("替换后的字符串为:%s\n", str); } break; } case 7: { char c1, c2; printf("请输入要替换的字符:\n"); scanf(" %c", &c1); printf("请输入替换后的字符:\n"); scanf(" %c", &c2); int len = strlen(str); for (int i = 0; i < len; i++) { if (str[i] == c1) { str[i] = c2; } } printf("替换后的字符串为:%s\n", str); break; } default: printf("输入错误\n"); break; } return 0;
原文地址: https://www.cveoy.top/t/topic/eiYw 著作权归作者所有。请勿转载和采集!