回 帖 发 新 帖 刷新版面

主题:关于数组排序问题

#include<iostream>
using namespace std;
    int data[10];
void main()
{
    int m;
        cout<<"请输入十个个整数:";
    for(m=0;m<10;m++)
cin>>data[m];
int j=0;
    for(int i=1;i<10;i++)
        if(data[i]<data[j])
            j=i;
        if(j>0){
            int k=data[0];
            data[0]=data[j];
            data[j]=k;
        }
        for(j=0;j<10;j++)
            cout<<data[j];
}
在我电脑上运行的时候一直说在}前面缺少;我感觉我编的可能思路不对,或者有什么错误,呵呵,我是个新手,希望能帮我看下,或者帮我改进下程序,谢谢了。

回复列表 (共5个回复)

沙发

忘记说题目了,就是输入10个整数到一个数组,使得其中最小的一个数成为数组的首元素。

板凳

欢迎加QQ群来  欢迎大家    提问
QQ群:C C++ linux 软件基地① 64222213    满   
QQ群:C C++ linux 软件基地② 93623167    没满
QQ群:C C++ linux 软件基地③ 167881329   满
QQ群:C C++ linux 软件基地④ 174551731   高级群(没满)

3 楼

你的排序算法有问题
你可以试试下面的代码


#include<iostream>
using namespace std;
    int data[10];
void main()
{
    int i,j,k,m;
    cout<<"请输入十个个整数:\n";
    for(m=0;m<10;m++)
       cin>>data[m];
     for(j=0,i=1;j<9;i++)
     {
         if(data[j]>data[i]) 
             {
                 k=data[j];
                 data[j]=data[i];
                 data[i]=k;
              }
         if(i==9){ j++;i=j;}
     }
        
        
        cout<<endl;
        for(k=0;k<10;k++)
            cout<<data[k]<<" ";
}

4 楼


#include <iostream>
using namespace std;
void swap(int& a,int& b );
const int maxnum=10; 

int main()
{ int i ,a[maxnum] ,min;
   cout<<"please enter the num:\n" ;
   for(i=0;i<maxnum ;i++)
       cin>>a[i];
       min=0;
   for (i=0; i<maxnum;i++)
   {
       if (a[i]<a[min])
           min=i;
   }
       swap(a[min],a[0]);
    for (i=0;i<maxnum;i++)
        cout<<a[i]<<endl;
    return 1;

}  
  void swap(int& a,int& b)
  { 
      int temp;
      temp=a;
      a=b;
      b=temp;
  }


5 楼

#include<iostream>
int main()
{
    using namespace std;
    int data[10];
    int m;
    cout << "请输入十个个整数:" << endl;
    for(m=0;m<10;m++)
       cin>>data[m];
    int temp=data[0];
    int n=0;
    for(int i=1;i<10;i++)
       if(temp>data[i])
       {
         temp=data[i];
           n=i;
       }
   temp=data[n];
   data[n]=data[0];
   data[0]=temp;
   for(int j=0;j<10;j++)
     cout << data[j] << " ";
     cout << endl;
}
                    

我来回复

您尚未登录,请登录后再回复。点此登录或注册