注册 登录
编程论坛 C++教室

输入十个等长的字符串,然后对他们进行排序,然后输出。。不懂啊求指教啊。。

fl8962 发布于 2012-11-04 13:58, 430 次点击
#include<stdio.h>
#include<string.h>
#define max 1000
void main()
{
    int i,j,k,m;
    char str[10][max];
    gets(str[0]);
    printf("%d",strlen(str[0]));
    printf("\n");
    for(i=1;i<10;i++)
    {gets(str[i]);
     printf("\n");
    }
    for(i=0;i<9;i++)
        for(j=1;j<10;j++)
        {
            char *temp,*term;
            if(strcmp(str[i],str[j]))
            {    temp=str[i];
                term=str[j];
            str[i]=term;
            str[j]=temp;
            }
        }
        for(i=0;i<10;i++)
            printf("%s",str[i]);
}
4 回复
#2
JYIT2012-11-04 14:55
程序代码:
#include<stdio.h>
#include<string.h>
#define max 1000
void main()
{
    int i,j,k,m;
    char str[10][max];
    gets(str[0]); //读取字符串
    printf("%d",strlen(str[0]));
    printf("\n");
    for(i=1;i<10;i++)
    {gets(str[i]);
     printf("\n");
    }
    for(i=0;i<9;i++)
        for(j=1;j<10;j++)
        {
            char *temp,*term;
            if(strcmp(str[i],str[j])) //这是核心  ,通过strcmp()比较大小,对大的进行调换
            {    temp=str[i];
                term=str[j];
            str[i]=term;
            str[j]=temp;  //调换
            }
        }
        for(i=0;i<10;i++)
            printf("%s",str[i]);
}
#3
fl89622012-11-04 22:11
回复 楼主 fl8962
额,我没看出你的程序和我的有什么不同啊。为啥我的不能运行。。。
#4
JYIT2012-11-08 14:03
以下是引用fl8962在2012-11-4 22:11:26的发言:

额,我没看出你的程序和我的有什么不同啊。为啥我的不能运行。。。
不能运行就说不能运行嘛,为啥说不懂程序的意思,我是把每一步的意思给你讲讲
#5
woxingx2012-11-08 15:25
不知道
1