改进后的程序,人机对话的排序~~我知道了~~

作者在 2011-06-14 11:06:17 发布以下内容
#include<iostream>
#include <string>
using namespace std;
int shuz(int a[],int length);
int main()
{
    bool quit=false;
    int i;
    while(true)
    {
        int choice;
        cout<<"请输入您的选择 :"<<endl;
        cout<<"1.按数值大小进行排序"<<'\t'<<"2.按字符串大小进行排序"<<'\t'<<"3.quit"<<endl;
        cin>>choice;
        switch(choice)
        {
           case 1:
               {
                cout<<"您选择了按数值大小进行排序的选项"<<endl<<"请输入要排序6个数字:"<<endl;
                const int N=6;
                int data[N];
                for(i=0;i<N;i++)
                cin>>data[i];
                cout<<endl<<endl;
                shuz(data,N);
                break;
               }
           case 2:
               {
                  cout<<"您选择了按字符串大小进行排序的选项"<<endl<<"请输入要排序6个数字:"<<endl;
                  string s1,s2,s3,s4,s5,s6;
                  cin>>s1>>s2>>s3>>s4>>s5>>s6;
                  string a[6]={s1,s2,s3,s4,s5,s6};
                  for(i=0;i<5;i++)
                  for(int j=0;j<5-i;j++)
                  {
                    if(a[j]>a[j+1])
                    {
                       string temp;  
                       temp=a[j+1];
                       a[j+1]=a[j];
                       a[j]=temp;
                    }
                  }
                 for(i=0;i<6;i++)
                 cout<<a[i]<<'\t';
                 cout<<endl;
                 break;
               }
           case 3:
               {
                   quit=true;
                   break;
               }
           default:
               {
                   cout<<"输入有误"<<endl;
                   break;
               }
        }
        if(quit==true)
        break;
    }
    system("pause");
    return 0;
}
int shuz(int a[],int length)
{
    int i,j,temp;
    for(i=0;i<length;i++)
    cout<<a[i]<<'\t';
    cout<<endl<<endl;
    for(i=0;i<length-1;i++)
    for(j=0;j<length-i-1;j++)
    {
        if(a[j]>a[j+1])
        {
             temp=a[j];
             a[j]=a[j+1];
             a[j+1]=temp;
        }
      
    }
    cout<<"进行排序后:"<<endl;
    for(i=0;i<length;i++)
    cout<<a[i]<<'\t';
    return 0;
}

默认分类 | 阅读 888 次
文章评论,共0条
游客请输入验证码