输入5个字符串,按由小到大的顺序输出。 由小到大的顺序是按什么为标准的,就是思路,谢谢

如题所述

第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
他是没法排序的 程序崩掉了
第4个回答  2011-11-22
按照字母顺序
第5个回答  2011-11-22
字符串长度吗?追问

完整程序

追答

我是说按字符串长度排列输出吗?

追问

追答

挨个比较吧

相似回答