用户输入到数组

User Input into an Array

本文关键字:数组 输入 用户      更新时间:2023-10-16

为什么不把54321的用户整数单独放入数组integer[1][5] as, [5][4][3][2][1]中?它将54321放到一个数组块中。

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int integer[1][5];
    int number;
    cout << "Please enter an integer: " << endl;
    for (int i = 0; i < 1; i++)
    {
        {
            for (int j = 0; j < 5; j++)
                cin >> integer[i][j];
        }
        cout << endl;
    }
    for (int i = 0; i < 1; i++)
    {
        {
           for (int j = 0; j < 5; j++)
                cout << integer[i][j]<< " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}
//why wont this output an integer of 12345 individually into an array of [1][5]?

请测试这个新代码,我使用char数组输入12345,然后将其转换为整数数组,然后以相反顺序打印它以实现您需要的,您可以在第二个for循环中更改12345到54321的位置,然后修改第三个循环以打印从j=0到j<5的数字

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    char cinteger[5];
    int number[5];
    cout << "Please enter an integer: " << endl;
    for (int j = 0; j < 5; j++)
        cin >> cinteger[j];
    for (int j = 0; j < 5; j++)
    {
        number[j]= cinteger[j] - '0';
    }
    cout << endl;
    for (int j = 5; j > 0; j--){
        cout << "[";
        cout << number[j-1]<< "] ";
    }
    cout << endl;
    return 0;
}

54321本身被视为一个整数。在这种情况下,为了在数组中实现[5][4][3][2][1],用户必须单独键入每个整数。5输入4输入3.输入2输入1输入

这是因为你要输入的每个数字之间必须有空格(或白色字符)。解析器将其视为一个数字而不是五个数字…

您接收输入的方法要求您在每次提交每个整数后按"enter"。

使用不同的方法从用户处获取数据,或者期望用户在每个单独的整数后按enter键。

如果您想继续使用std::cin,另一种方法是在for循环之前,在提示符之后获取数据,然后使用for循环找到您想要的单个整数。

示例:查找1的数字

int data[5], input, size;
cout<<"Enter the data: ";
cin>>input;
for(size = 0; size < 5; ++size){//Assumes array limit = 5.
    data[size] = input%10;
    input = input/10;
    if(input==0)
        break;//Escape if fewer characters than 5 entered.
}

记住,索引0将包含最小的数字,索引5将包含最大的数字:"21,354"将存储为{4,5,3,1,2},其中值5位于索引1。因此,打印将需要一个反向for循环。

像这样:

for(int i = size; i >= 0; --i){
    cout<<data[i]<<' ';
}
cout<<endl;

您正在错误地声明您的二维数组以获得您想要的结果。试着切换你的数组,让它看起来像这样。

int integer[5][1];

这也是一个很好的参考,可以更好地理解基本的数组功能。http://www.cplusplus.com/doc/tutorial/arrays/