1619-7 张良 十一月十号总结 [连续第四十一天]

本文介绍了两个实用的字符串处理方法:一是统计字符串中数字、英文及其他字符的数量;二是删除字符串中的非数字字符并将其余数字字符组成的字符串转换为反序整数。通过具体的C++代码示例展示了如何实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标题:学习函数

关键词:函数

内容:

1  双十一剁手

2  统计一个字符串数组中的数字字符,英文字符,和其他字符的个数。

//

//  main.cpp

//  例题

//

//  Created by 张良 on 2016/11/10.

//  Copyright © 2016 张良. All rights reserved.

//


#include <iostream>

int numofchar(char *str,int *ch,int &oth)

{

    char *p=str;

    int num=0;//计算数字变量

    *ch=0;//计算字符变量

    oth=0;//计算其他变量

    while(*p)

    {

        if(*p>='0'&&*p<='9')num++;

        else if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))(*ch)++;

        else oth++;

        p++;

    }

    return num;

}//这个函数最后返回的是数字变量的个数

int main()

{

char s[]="the value of 8%6 is 2.";

    int number,character,other;

    number=numofchar(s,&character,other);

    std::cout<<"字符串"<<s<<"中的3种字符的个数分别是:"<<std::endl;

    std::cout<<number<<'\t'<<character<<'\t'<<other<<std::endl;

}

3  删除一个字符串中的所有非数字字符,并将剩下的字符串转换为一个反顺序的整数。

//

//  main.cpp

//  例题

//

//  Created by 张良 on 2016/11/10.

//  Copyright © 2016 张良. All rights reserved.

//


#include <iostream>

#include<string>

char *del(char *str)

{

    int flag=0;

    for(char *p1=str;*p1;p1++)

    {

    if(*p1<'0'||*p1>'9')

        for(char *p2=p1;*p2;p2++){

            *p2=*(p2+1);

            flag=1;

        }

        if(flag==1){

            p1--;

            flag=0;

        }

    }

    return str;

}

int conversion(char *str)

{

    int s=0;

    for(char *p=str+strlen(str)-1;p>=str;p--)

        s=s*10+*p-'0';

        return s;

}

int main()

{

char s[]="a1 @a 2h$34##5 6ga";

    std::cout<<"逆序后的整数为"<<std::endl;

    std::cout<<conversion(s)<<std::endl;

}



 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值