回 帖 发 新 帖 刷新版面

主题:大大们进来帮帮忙啊.....谢了

/*输入3个字符串求出其中最大的*/
#include"stdio.h"
main()
{
char a[3][20];
char b[20];
int i;
printf("please input ;\n");
for(i=0;i<3;i++)
  gets(a[i]);
  if(strcmp(a[0],a[1])>0 )
     strcpy(b,a[0]);
  else
     strcpy(b,a[1]);
    if(strcmp(a[2],b)>0)
          strcpy(b,a[2]);
            puts(b);
     

}/*怎么样才能把程序改成任意输入几个字符串求其中最大的*/
我学C才不到一周请大大门用比较通俗的语言描述,指针那些就不用了看不懂。。谢了

回复列表 (共13个回复)

11 楼

[quote]注意如果想用scanf读%s,那么字符串里是不能有空格的,如果想读有空格的字符串要注意用gets
如果不读空格,那么建议用" %s"的格式来过滤过多的换行符[/quote]
蒽。。突然明白了%s,有空格就恼火了。。谢了

12 楼

我是直接用enter做结尾的,为空嘛,所以在输入那块加了个判断语句

13 楼


简单!可以用for循环来完成!先定义一个指针,将第一个字符组的地址赋给该指针
      
      在循环与其它字符组比较,将大的赋给该指针!

例如:char *p=a[0];
      for(i=0;i<N;i++)
          if((strcmp(p,a[i]))<0) p=a[i];

我来回复

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