当前位置: 代码迷 >> C语言 >> 求助!
  详细解决方案

求助!

热度:112   发布时间:2008-01-29 14:20:27.0
求助!
谁帮我把这段代码分析以下看看是什么意思
题目是排序
分别是输入5个国家的名字,然后按ASCII码排序
谁帮我翻译一下,谢谢
main()
{
    char st[20],cs[5][20];
    int i,j,p;
    printf("input country's name:\n");
    for(i=0;i<5;i++)
      gets(cs[i]);
    printf("\n");
    for(i=0;i<5;i++)
      { p=i;strcpy(st,cs[i]);
    for(j=i+1;j<5;j++)
      if(strcmp(cs[j],st)<0) {p=j;strcpy(st,cs[j]);}
    if(p!=i)
      {
    strcpy(st,cs[i]);
    strcpy(cs[i],cs[p]);
    strcpy(cs[p],st);
      }
    puts(cs[i]);}printf("\n");
}
搜索更多相关的解决方案: strcpy  printf  name  

----------------解决方案--------------------------------------------------------
谁能帮帮我?
----------------解决方案--------------------------------------------------------
程序有错,先改对了再说......
----------------解决方案--------------------------------------------------------
用的是选择排序,你先把int型的弄清楚这个就清楚了....
----------------解决方案--------------------------------------------------------
经TC测试,完全无误。
虽然程序的格式有些令人看着迷糊。
----------------解决方案--------------------------------------------------------
我手上的编译器:VC6,VC2003,GCC,LCC没有一个能编译通过
----------------解决方案--------------------------------------------------------
回复 6# 的帖子
试着给程序加注释,可惜没那么高的水平,没加全,因为我用笔算解释这段程序的时候,无法理解意思。
     后用TC编译器编译测试,发现无论字符串长短,它根据字母的先后进行排序,测试多次,出现相同结果,令人不解。我记得strcmp是比较字符串长短的函数呀。
    看来不承认菜真是不行呀~
----------------解决方案--------------------------------------------------------
楼主那段是很简单的字符串按ascii码优先选择排序
不过代码语法上有问题
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]菜鸭[/un] 在 2008-1-29 15:53 的发言:[/bo]

经TC测试,完全无误。
虽然程序的格式有些令人看着迷糊。

这就是飞燕说不要用TC的表现....代码本身就有问题.~
----------------解决方案--------------------------------------------------------
  相关解决方案