一个基础的c++问题

2025-06-27 13:00:02
推荐回答(3个)
回答1:

#include //包含头文件
#include
using namespace std;
int main()
{
int arr[100],i=0,c;
//以下是输入部分
while(cin>>arr[i++])
{
while((c=getchar())!=','&&c!='\n');
if(c=='\n') break;
}
//以下是测试输出
for(c=0;cprintf("%d\n",arr[c]);
}

回答2:

#include
int get_integer(int p[])
{
int count = 0;
while (std::cin >> *p++ and ++count)
if (std::cin.get()=='\n') break;

return count;
}

回答3:

如果用cin函数的话,按回车键默认输入结束。空格和换行都被认为一个数据输入结束。多行的数据,可以考虑用数组。控制台不可能做到多智能或是说做出动态的决策。因此建议 一次性读入所有数据,然后根据要求分析数据。我写了一小段代码,你看看,应该可以实现你的需求。
#include
#include
using namespace std;

#define MAX_SIZE 100

int getSubStrings(string &str, string *container) {
// Return the size of container

int i, j;
int size = str.length();
string subString;
subString.clear();

for (i = 0, j = 0; i < size; i++) {

if (str[i] != ',') {

subString += str[i];
} else {

container[j] = subString;
j++;
subString.clear();
}
}

// 'cin' doesn't read in white space
// and we don't get a ',' in the end, so...
if (subString != "") {
container[j] = subString;
j++; // j is from 0
}

return j;
}

int main() {

string str;
string arr[MAX_SIZE];
int size;

cout<<"Input anything ending with return key:\n";
cin>>noskipws;
cin>>str;

size = getSubStrings(str, arr);

// output the content of arr
cout<<"\nThe content of your input is: \n";
for (int i = 0; i < size; i++) {

cout< }

return 0;
}

希望对你有所帮助哈。