题目描述
输入一个包含数字和其他字符的字符串, 并通过 字符指针 来存储该字符串。统计并打印该字符串中数字字符的个数。
说明: 记得为 字符指针 开辟堆空间。
例如, 字符串 “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[]
运算符释放先前分配的堆空间。
当程序运行时,用户需要输入一个包含数字和其他字符的字符串。然后,程序将统计并输出字符串中数字字符的个数。
运行截图
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END