c++ 实现将5个整数输入到数组a中,将a逆序复制到数组b中,并输出b中各单元的值。 我这样做为什么不对呢

#include<iostream>
using namespace std;
void main ()
{ int a[5],b[5],i,j;
for(i=0;i<5;i++)
{ cin>>a[i] ;
b[5-i]=a[i];
cout<<b[5-i]<<endl; } }

你这样还是按你输入的顺序输出的,所以,在输入完了之后,正序遍历b数组即是反序序列

另外b[5-i]=a[i]这里i=0时发生数组下标越界,所以改为b[4-i]=a[i];

#include<iostream>
using namespace std;
int main ()
{
    int a[5],b[5],i,j;
    for(i=0;i<5;i++)
    {
        cin>>a[i] ;
        b[4-i]=a[i];
        //cout<<b[5-i]<<endl;
    }
    for (i = 0; i < 5; i++){
        cout << b[i] << endl;
    }
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-19
你的B数组输出的顺序反了,再加个循环把B数组从B[1]到B[5]正序输出就行了