|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<iostream>
- #include<string.h>
- #define MAX 1024
- using namespace std;
- int cal_num(char* str)
- {
- char *pstr;
- int count;
- int number=0;
- pstr=str;
- while(*pstr!=0)
- {
- if(*pstr>='0'&&*pstr<='9')
- {
- count++;
- number=number*10+*pstr;//该句错误,如何修改,指针存储的数字应该如何加呢。
- }
- else
- {
- cout<<number;//该句错误
- }
- pstr++;
- }
- cout<<"数字的个数是:"<<count;
- }
- int main()
- {
- char str[MAX];
- cout<<"请输入一串字符:";
- cin>>str;
- cal_num(str);
- }
复制代码
我想要在输出字符串数字个数的同时,输出字符串中的整数,例如:输入dasd566dsa13,输出:566,13,5,上述程序标注语句应该怎么修改啊,而且一个如何忽略数字间的其他字符呢,谢谢了。
- #include <iostream>
- #include <string>
- #include <cctype>
- void calcstr(std::string &str)
- {
- int count = 0;
- for (char &i : str)
- {
- if (isdigit(i))
- {
- count++;
- }
- if (!isdigit(i))
- {
- i = 0;
- }
- }
- std::cout << "字符串中数字的个数是:" << count << "\n"
- << "字符串中的数字有:" << str << std::endl;
- }
- int main(int argc, char const *argv[])
- {
- std::string a = "gfgf122gf5f9g7+f+g854";
- calcstr(a);
- return 0;
- }
复制代码
-----------------------------------------------
E:\Users\admin\Documents\VScode\Code>cmd /C "c:\Users\admin\.vscode\extensions\ms-vscode.cpptools-0.26.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-e0rmbvrj.mo0 --stdout=Microsoft-MIEngine-Out-fdgtarns.xp5 --stderr=Microsoft-MIEngine-Error-xca4qu35.qbs --pid=Microsoft-MIEngine-Pid-30jqmv5x.4bs --dbgExe=D:\MinGW\bin\gdb.exe --interpreter=mi "
源字符串:gfgf122gf5f9g7+f+g854
字符串中数字的个数是:9
字符串中的数字有: 122 5 9 7 854
E:\Users\admin\Documents\VScode\Code>
|
|