字符分析
a123x456}17960?302tab5876
将其中连续的数字作为一个整体,依次存放到一个数组a中。例如,123放在a[0],456放在a[1]……,统计共有多少整数,并输出这些整数。
输入格式:
每个输入包含1个测试用例,即一个不超过80位的字符串。
输出格式:
按照从左到右的顺序输出所有整数,用逗号分隔。
输入样例:
a123x456}17960?302tab5876
输出样例:
123,456,17960,302,5876
#include<iostream> #include<vector> #include<string> using namespace std; int main() { string h1;//输入的字符串 cin >> h1; int length = h1.length();//统计字符串的长度 char *a = new char[length + 1];//将字符串转化为字符数组 vector<char> c;//创建一个向量容器 strcpy_s(a, length + 1, h1.c_str());//将字符串h1转化为字符数组 for (int i = 0; i < length; i++) { if (a[i] >= "0" && a[i] <= "9")//如果是数字字符我们将他放入栈内 c.push_back(a[i]); if (a[i]<"0" || a[i]>"9")//如果不是字符数组 { a[i] = ",";//首先我们将他转化为 逗号分割 if (i == 0||i==length-1)continue;//对第一个和最后一个不是数字的情况判断 if (a[i] == ","&&a[i - 1] == ",")continue; if (a[i] == ","&&a[i + 1] == ",")continue; c.push_back(a[i]); } } for (unsigned int i = 0; i < c.size(); ++i)//将容器中的数据输出 { cout << c[i]; } return 0; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: android jni操作数组
- 下一篇: 为何频烦调用指针会占用大量内存