C++字符指针之统计数字字符个数问题案例

题目描述

输入一个包含数字和其他字符的字符串, 并通过 字符指针 来存储该字符串。统计并打印该字符串中数字字符的个数。

说明: 记得为 字符指针 开辟堆空间。

例如, 字符串 “a123x45?#7” 中包含 6 个数字字符

实现代码

根据题目要求,我们需要编写一个程序,从用户输入的字符串中统计数字字符的个数,并使用字符指针来存储该字符串。下面是使用C++编写的程序:

#include <iostream>
#include <cstring>

int countDigits(const char* str) {
    int count = 0;
    while (*str != '\0') {
        if (isdigit(*str)) {
            count++;
        }
        str++;
    }
    return count;
}

int main() {
    char* str = new char[100];
    std::cout << "输入一个包含数字和其他字符的字符串: ";
    std::cin.getline(str, 100);

    int digitCount = countDigits(str);
    std::cout << "字符串中数字字符的个数为: " << digitCount << std::endl;

    delete[] str;

    return 0;
}

在上述程序中,我们使用了countDigits函数来统计字符串中数字字符的个数。该函数使用了一个循环,遍历字符串中的每个字符。如果字符是数字字符,则计数器加一。最后,函数返回数字字符的个数。

main函数中,我们通过new运算符为字符指针str分配了堆空间,大小为100。然后使用std::cin.getline函数从用户输入获取字符串,并将其存储在str指向的内存空间中。接下来,调用countDigits函数统计字符串中数字字符的个数,并将结果存储在digitCount变量中。最后,输出数字字符的个数,并使用delete[]运算符释放先前分配的堆空间。

当程序运行时,用户需要输入一个包含数字和其他字符的字符串。然后,程序将统计并输出字符串中数字字符的个数。

运行截图

图片[1]-C++字符指针之统计数字字符个数问题案例-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享