当前位置: 首页 > article >正文

C语言实验 函数二

时间:2024.12.16

6-9 删除字符

 

代码

void delchar(char *str, char c) {
    int i, j;
    for (i = 0, j = 0; str[i]!= '\0'; i++) {
        if (str[i]!= c) {
            str[j] = str[i];
            j++;
        }
    }
    str[j] = '\0';
}

代码思路

1.在delchar函数中:

使用i和j两个指针,i用于遍历原始字符串str,j用于构建新的字符串。

当str[i]不等于字符c时,将str[i]赋值给str[j],然后j自增。

最后在新字符串的末尾添加字符串结束符'\0'。

2.在main函数中:

首先读取要删除的字符c。 然后调用ReadString函数读取输入的字符串str。  接着调用delchar函数删除字符串str中的字符c。 最后输出处理后的字符串str。

3. ReadString函数用于读取输入的字符串,直到遇到换行符`'\n'`为止。

程序完整代码

#include <stdio.h>
#define MAXN 20

void delchar(char *str, char c);
void ReadString(char s[]);

int main() {
    char str[MAXN], c;
    scanf("%c\n", &c);
    ReadString(str);
    delchar(str, c);
    printf("%s\n", str);
    return 0;
}

void delchar(char *str, char c) {
    int i, j;
    for (i = 0, j = 0; str[i]!= '\0'; i++) {
        if (str[i]!= c) {
            str[j] = str[i];
            j++;
        }
    }
    str[j] = '\0';
}

void ReadString(char s[]) {
    int i = 0;
    char ch;
    while ((ch = getchar())!= '\n') {
        s[i] = ch;
        i++;
    }
    s[i] = '\0';
}

6-10 分类统计各类字符个数

代码一 

void StringCount( char *s ){
     int i, j,d=0,x=0,k=0,n=0,e=0;
    for (i = 0; s[i]!= '\0'; i++) {
        if (s[i]==' ') {
         k++;
        }else if(s[i]>='A'&&s[i]<='Z'){
            d++;
        }else if(s[i]>='a'&&s[i]<='z'){
            x++;
        }else if(s[i]>='0'&&s[i]<='9'){
            n++;
        }else{
            e++;
        }
}
printf("%d %d %d %d %d",d,x,k,n,e);
}
  1. 代码一思路分析

    • 这段代码的目的是统计给定字符串中的大写字母、小写字母、空格、数字以及其它字符的个数。
    • 它使用一个循环遍历字符串中的每个字符,然后使用多个if-else语句判断字符的类型,并相应地增加对应的计数器。
    • 最后,它输出各个类型字符的个数。

程序完整代码 

#include <stdio.h>
#define MAXS 15

void StringCount(char *s);

int main() {
    char s[MAXS];
    scanf(&

http://www.kler.cn/a/441532.html

相关文章:

  • css粘性定位超出指定宽度失效问题
  • AIGC视频生成国产之光:ByteDance的PixelDance模型
  • 最新版pycharm如何配置conda环境
  • 总结 uniapp 上不适配iphone的:new Date 时间、border线条、渐变
  • 【Red Hat8】:搭建FTP服务器
  • 20250120 深入了解 Apache Flink 的 Checkpointing
  • Dockerfile制作相关命令
  • Ruyi-Mini-7B:开源的图像生成视频模型
  • 利用SpringAOP的返回通知处理数据加密返回
  • vulnhub靶场【DriftingBlues】之5
  • 12.16【net】[debug]SOCKET_RAW无法在热点局域网下传递,悬而未决
  • Android-Glide详解二
  • git如何撤销最近一个或几个提交
  • Redisson常用方法
  • 如何解决手机,电脑等工作室同ip关联问题
  • Springboot3.x配置类(Configuration)和单元测试
  • MySQL--》解析事务从隔离级别到死锁处理
  • Redis在库存里的应用
  • Python中工具脚本在本地共享给不同项目
  • 【C++】小乐乐求和问题的高效求解与算法对比分析
  • 深入探讨HTML页面中CSS的加载顺序
  • 大数据-179 Elasticsearch - 原理剖析 倒排索引与读写流程
  • 远程控制电脑技术让我们的生活更加简化
  • 期末复习-计算机网络应用题
  • ElementUI中el-dropdown-item点击事件无效
  • 《Vue进阶教程》第十四课:改进桶结构