回 帖 发 新 帖 刷新版面

主题:[讨论]C++编程基础

C++基础程序设计: 输入m个字符串,将它们按字母由小到大的顺序排列并输出。


 以下是我编的程序代码:
#include <iostream>
#include <string>
using namespace std;
const m=3;
int main()
{
 void sort(string str[]);
 int i;
 cout<<"字符串个数:"<<m<<endl; 
 string str[m];
 cout<<"输入"<<m<<"个字符串"<<endl;
 for(i=0;i<m;i++)
  cin>>str[i];
 sort(str);
 return 0;
}
void sort(string str[m])
{
 string str1,min=str[0];
 int i,j;
 for(i=0;i<m-1;i++)
  for(j=0;j<m-1-i;j++)
  {
   if(str[i]<min)
   {
    str1=min;
    min=str[i];
    str[i]=str1;
   }
  }
 cout<<str<<endl;
}
其运行结果如下:
字符串个数:3
输入3个字符串
China U.S.A. Germany
0012FF40
Press any key to continue
希望各位指点迷津,帮我看看我的程序究竟哪里出问题了。。。谢谢。。。

回复列表 (共2个回复)

沙发


cout<<str<<endl;
改为
for( int i=0; i<m; ++i )
    cout << str[i] << endl;

板凳

可以把输出语句写在for循环里面,在for循环外面在写一句cout<<endj;也可以,你这样写是输出的首地址str[i]才可以

我来回复

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