第1个回答 推荐于2017-09-03
#include <stdio.h>
int main(void)
{
char a[5][80], *p[5], *t;
int i, j;
for (i = 0; i < 5; i++)
{
scanf("%s", a[i]);
p[i] = a[i];
}
// 冒泡排序
for (i = 0; i < 4; i++)
for (j = 0; j < 4 - i; j++)
if (strcmp(p[j], p[j + 1]) >= 0)
{
t = p[j];
p[j] = p[j + 1];
p[j + 1] = t;
}
for (i = 0; i < 5; i++)
puts(p[i]);
return 0;
}本回答被提问者采纳
第2个回答 2011-11-22
可以按首字符的大小来排序,若首字母相同,则下字母再比,这是函数strcpy的比较机制
第3个回答 2011-11-22
//程序开始
#include <iostream>
#include <list>
#include <string>
using namespace std;
#define ___ int main(){return atexit(__);}
#define ____ void __(){
#define _____ system("pause"); }
____
unsigned us(0);
string str("");
list<string> vec;
while (getline(cin, str), vec.push_back(str), vec.size()<5);
vec.sort();copy(vec.begin(), vec.end(), ostream_iterator<string>(cout, "\n"));
_____
___
//程序结束
//=======================================================
以上vs2008通过
我个人感觉楼上的是错误的 比如说 每个字符串都是
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
他是没法排序的 程序崩掉了
第5个回答 2011-11-22
字符串长度吗?
追问完整程序
追答我是说按字符串长度排列输出吗?
追问嗯
追答挨个比较吧