读书人

//通过键盘给一个数组赋值然后反序输

发布时间: 2012-03-17 19:06:28 作者: rapoo

//通过键盘给一个数组赋值,然后反序输出
//通过键盘给一个数组赋值,然后反序输出的程序,除了我这种原数组不变,将值反序赋给另一个数组,即a[5]={1 1 3 4 5} 程序执行后 b[5]={5 4 3 1 1}
#include <iostream>
#include <stdlib.h>
using namespace std;
void main()
{
//通过键盘给数组num赋值
const int size=5;
int i;
int nums[size];
int sum=0;
cout << "Please enter " << size << " nums" <<endl;
for(i=0; i<size; i++)
{
cin >> nums[i];
}
int o;
int fan_nums[size];
for(i=size-1,o=0; i>=0,o<size; i--,o++)
{fan_nums[o]=nums[i];
cout << "fan_nums" << "[" << o << "]" << " is " << fan_nums[o] << endl;
}

}


有没有那种改完后原数组的值也改变的程序,即a[5]={1 1 3 4 5} 程序执行后 a[5]={5 4 3 1 1}

[解决办法]
抽了个空帮你写了一个!

C/C++ code
#include <iostream>using namespace std;//置换void exchange(int &a,int &b){  if(a!=b)  {  a = a + b;  b = a - b;  a = a - b;  }}// 逆序// a-逆序数组 begin开始序号  end结束序号void reserve(int a[],int begin,int end){    while(begin<=end){        exchange(a[begin],a[end]);        begin++;        end--;    }}// 打印数组void print(int a[],int n){    int i=0;    for(;i<n;i++){        cout<<a[i]<<"  ";    }    cout<<endl;}int main(){    int a[]={1,2,3,4};    cout<<"输入前"<<endl;    print(a,sizeof(a)/sizeof(a[1]));        reserve(a,0,sizeof(a)/sizeof(a[1])-1);    cout<<"逆转后"<<endl;    print(a,sizeof(a)/sizeof(a[1]));  return 0;} 

读书人网 >C++

热点推荐