程序在出循环后数组乱了: 它在一循环是:
#include<bits/stdc++.h>
using namespace std;
int b[1001][1];
int main() {
string a;
size_t c;
int f;
bool g;
g = 0;
char e;
f = 0;
cin >> a;
c = a.size();
for (int i = 0; i <= c; i++)
{
e = a[i];
if (e >= '0' && e <= '9')
{
f = f * 10 + int(e) - 48;
g = 1;
}
else
{
if (g == 1)
{
b[i][0] = f;
b[i][1] = 1;
f = 0;
g = 0;
}
}
cout << b[i][0] << " " << b[i][1] << endl;
}
for (int i = 0; i <= c; i++)
{
if ( b[i][1] == 1) {
// cout << b[i][0] << endl;
}
}
return 0;
}
二循环:
#include<bits/stdc++.h>
using namespace std;
int b[1001][1];
int main() {
string a;
size_t c;
int f;
bool g;
g = 0;
char e;
f = 0;
cin >> a;
c = a.size();
for (int i = 0; i <= c; i++)
{
e = a[i];
if (e >= '0' && e <= '9')
{
f = f * 10 + int(e) - 48;
g = 1;
}
else
{
if (g == 1)
{
b[i][0] = f;
b[i][1] = 1;
f = 0;
g = 0;
}
}
}
for (int i = 0; i <= c; i++)
{
cout << b[i][0] << " " << b[i][1] << endl;
if ( b[i][1] == 1) {
// cout << b[i][0] << endl;
}
}
return 0;
}
可以看到,我只移动 cout << b[i][0] << " " << b[i][1] << endl;就会出现打乱。 求求了(tip:测试数据23yy00yy4y8Gg48gt001eDGER 答案:23
0
4
8
48
1)