c++题目.
发布网友
发布时间:2023-09-30 04:07
我来回答
共4个回答
热心网友
时间:2024-11-23 07:08
用string的len()方法得到字符串的长度,建立一个相同长度的int数组,建立一个长度+1的char数组。
1.把string存放在char数组里,从头开始判断是否>='0'&&<='9';
如果是,单独拿出来,用atoi()转换成int类型,然后放在前面建立的int数组中。
2.步骤1始终执行,直到遇到‘\0’。
热心网友
时间:2024-11-23 07:08
把字符串存到一个字符数组里,求出长度。第一次遍历的时候利用ACSII码判断出那些是数字,然后就可以把这些数字存进另一个数组,同时用一个计数器统计个数。然后再一次遍历后面的数组,逐个输出
热心网友
时间:2024-11-23 07:09
#include<iostream>
#include<vector>
#include<iterator>
using namespace std;
#define MAX 1000
void main()
{
char buf[MAX], cNum[6];
vector<int> num;
vector<int>::iterator it;
cout<<"pls input ..."<<endl;
cin>>buf;
int nLen = strlen(buf);
int nStart;
bool isNum = false;
for(int i=0; i<=nLen; i++)
{
if(buf[i]<=57 && buf[i] >=48)
{
if(isNum == false)
{
nStart = i;
isNum = true;
}
}
else
{
if(isNum == true)
{
memset(cNum, 0, 6);
strncpy(cNum, buf+nStart, i-nStart);
num.push_back(atoi(cNum));
isNum = false;
}
}
}
for(it=num.begin(); it!=num.end(); it++)
{
cout<<*it<<"\t";
}
cout<<endl;
}
热心网友
时间:2024-11-23 07:10
建议楼主用栈实现!!!