From f10b80e114307eb81195e1e3b1a72bdc9eade846 Mon Sep 17 00:00:00 2001 From: smallkun <smallerkun@foxmail.com> Date: Fri, 14 Mar 2025 11:18:41 +0800 Subject: [PATCH] Auto commit --- 2208/C语言/字符串处理.md | 54 ++++++++++++++++++++++++++++++++++++++ 2208/C语言/源码/字符串-1.c | 24 +++++++++++++++++ 2208/C语言/源码/字符串-2.c | 24 +++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 2208/C语言/源码/字符串-1.c create mode 100644 2208/C语言/源码/字符串-2.c diff --git a/2208/C语言/字符串处理.md b/2208/C语言/字符串处理.md index cccb44d..fd3c48a 100644 --- a/2208/C语言/字符串处理.md +++ b/2208/C语言/字符串处理.md @@ -2,8 +2,62 @@ 从键盘上输入一个字符串, 计算字符串里有多少个空格、小写字母、大写字母、数字。 +```c +#include <stdio.h> + +int main(){ + char str[100], space, low_letter, upp_letter, number; + space = low_letter = upp_letter = number = 0; + char *p; + gets(str); + p = str; + while(*p != '\0'){ + if(*p == ' '){ + space++; + }else if(*p >= 'a' && *p <= 'z'){ + low_letter++; + }else if(*p >= 'A' && *p <= 'Z'){ + upp_letter++; + }else if(*p >= '0' && *p <= '9'){ + number++; + } + p++; + } + printf("空格:%d 小写字母:%d 大写字母:%d 数字%d\n", + space, low_letter, upp_letter, number); + return 0; +} +``` + ### 2. 字符串排序 +```c +#include <stdio.h> +#include <string.h> + +int main(){ + char str[100]; + char temp; + int i, j; + + gets(str); + + for(i=0;i<strlen(str)-1;i++){ + for(j=0;j<strlen(str)-1-i;j++){ + if(*(str+j) > *(str+j+1)){ + temp = *(str+j); + *(str+j) = *(str+j+1); + *(str+j+1) = temp; + } + } + } + + puts(str); + return 0; +} + +``` + ### 3. 字符串插入 字符串插入: “1234567890” diff --git a/2208/C语言/源码/字符串-1.c b/2208/C语言/源码/字符串-1.c new file mode 100644 index 0000000..bc65d23 --- /dev/null +++ b/2208/C语言/源码/字符串-1.c @@ -0,0 +1,24 @@ +#include <stdio.h> + +int main(){ + char str[100], space, low_letter, upp_letter, number; + space = low_letter = upp_letter = number = 0; + char *p; + gets(str); + p = str; + while(*p != '\0'){ + if(*p == ' '){ + space++; + }else if(*p >= 'a' && *p <= 'z'){ + low_letter++; + }else if(*p >= 'A' && *p <= 'Z'){ + upp_letter++; + }else if(*p >= '0' && *p <= '9'){ + number++; + } + p++; + } + printf("�ո�:%d Сд��ĸ:%d ��д��ĸ:%d ����%d\n", + space, low_letter, upp_letter, number); + return 0; +} diff --git a/2208/C语言/源码/字符串-2.c b/2208/C语言/源码/字符串-2.c new file mode 100644 index 0000000..1f41134 --- /dev/null +++ b/2208/C语言/源码/字符串-2.c @@ -0,0 +1,24 @@ +#include <stdio.h> +#include <string.h> + +int main(){ + char str[100]; + char temp; + int i, j; + + gets(str); + + for(i=0;i<strlen(str)-1;i++){ + for(j=0;j<strlen(str)-1-i;j++){ + if(*(str+j) > *(str+j+1)){ + temp = *(str+j); + *(str+j) = *(str+j+1); + *(str+j+1) = temp; + } + } + } + + puts(str); + return 0; +} +