C++编程,任意给一个数组,从小到大输出

C++编程,任意给一个数组,从小到大输出求大佬给出详细解答,最好每一步有说明

#include<iostream>
using namespace std; //以上两句因为程序中要用到cin和cout
#define N 10 //定义一个常量,用于确定数组元素个数
void main() { int a[N],i,j,k;
  for ( i=0;i<N;i++ ) cin>>a[i]; //输入数组元素
  for ( i=0;i<N-1;i++ ) { //循环N-1次
    for ( j=i+1;j<N;j++ ) //第i个元素和之后的每个元素进行比较
      if ( a[i]>a[j] ) { //如果发现比后面的元素大就交换过来,最后只保存最小的
        k=a[i];a[i]=a[j];a[j]=k; //交换a[i]和a[j]中保存的数
      }
  }
  for ( i=0;i<N;i++ ) cout<<a[i]<<" "; cout<<endl;
}

追问

这个我在电脑上试了,它显示我有多个多重定义的符号,为什么啊

哦,我知道了,谢谢你

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-15
void sort(int a[], int n) //n为数组a长度
{
    int i,j;
    for(i=0;i<n-1;i++) //冒泡排序法
        for(j=0;j<n-i-1;j++)
            if(a[j]<a[j+1) //依次交换相邻的数
            {
                int t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
}

相似回答