| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 437 人关注过本帖
标题:介个程序,有点纠结,帮忙看下吧...谢谢~~~~[em06]
只看楼主 加入收藏
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:3 
介个程序,有点纠结,帮忙看下吧...谢谢~~~~[em06]
#include<iostream>
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<<"请输入要排序的数字:"<<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:                                                                                  //关键在case 2 :按字符串大小排序,下面是我的实现方法,
                cout<<"您选择了按字符串大小进行排序的选项"<<endl<<"请输入要排序的数字:"<<endl;    //貌似真的不能实现好像,额..好纠结,帮忙看看错在哪里
                const int M=6;                                                                     //主要是思路,如何进行比较啊,是数字进行排序啊是
                int data[M];
                for(i=0;i<M;i++)
                cin>>data[i];  
                cout<<<<endl<<endl;
                for(i=0;i<M;i++)
                for(j=0;j<M-i-1;j++)
                {
                     if(strcmp(data[j],data[j+1])>0)
                     {
                         temp=data[j];
                         data[j]=data[j+1];
                         data[j+1]=temp;
                     }
                }
                cout<<"进行排序后:"<<endl;
                for(i=0;i<M;i++)
                cout<<data[i]<<'\t';
                cout<<endl<<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';  
}
 


[ 本帖最后由 lianjiecuowu 于 2011-6-14 17:29 编辑 ]
搜索更多相关主题的帖子: 数字 std include choice 字符串 
2011-06-13 23:30
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:0 
#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<<"请输入要排序的数字:"<<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<<"请输入要排序的数字:"<<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(j=0;j<5-i;j++)
               {
                   if(a[j]>a[j+1])
                   {
                       temp=a[j+1];
                       a[j+1]=a[j];
                       a[j]=temp;
                   }
               }
               for(i=0;i<5;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';
}
我已经穷尽脑细胞了,可不可以给点提示啊,ing......好纠结啊,帮忙想点办法啊......



改了为什么还是不对啊~~~~~~~

Sharp your mind!
2011-06-13 23:50
Pirelo
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:118
专家分:550
注 册:2011-1-28
收藏
得分:20 
程序代码:
#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<<"请输入要排序的数字:"<<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<<"请输入要排序的数字:"<<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++)// j没定义
                  {
                    if(a[j]>a[j+1])
                    {
                       string temp;  // temp也没定义
                       temp=a[j+1];
                       a[j+1]=a[j];
                       a[j]=temp;
                    }
                  }
                 for(i=0;i<5;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;
}
case每个分支应该用"{}",还有两个变量为定义就使用
2011-06-14 09:31
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:0 
回复 3楼 Pirelo

对不起啊,忘掉了啦~~~~~晚上很晚才编的,谨记谨记,谢谢啊

Sharp your mind!
2011-06-14 10:42
快速回复:介个程序,有点纠结,帮忙看下吧...谢谢~~~~[em06]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019262 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved