c++出循环后数组被打乱
  • 板块学术版
  • 楼主hsbsy
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/5/7 18:15
  • 上次更新2023/10/23 16:24:09
查看原帖
c++出循环后数组被打乱
523036
hsbsy楼主2023/5/7 18:15

程序在出循环后数组乱了: 它在一循环是:

#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)

2023/5/7 18:15
加载中...