蝉曦吧 关注:1,010贴子:57,924
  • 20回复贴,共1

能给我详解下吗。。。

只看楼主收藏回复



IP属地:美国来自Android客户端1楼2012-10-22 21:48回复
    @蝉曦


    IP属地:美国来自Android客户端3楼2012-10-22 21:51
    回复
      用 while(scanf()!=EOF)这个主循环体。。。


      IP属地:美国来自Android客户端4楼2012-10-22 21:53
      回复
        限制使用string.h中的函数么。。。


        IP属地:浙江5楼2012-10-22 22:18
        收起回复

          睡着了。。。


          IP属地:浙江6楼2012-10-22 22:58
          收起回复
            #include"stdio.h"
            void main(){
            int i,m=0;
            char tmpStr[3],Str[10][3],t;
            while(scanf("%s",tmpStr)!=EOF){//不定组数据,用F6或者ctrl+z结束输入,回车切换输入不同组数据
            if(tmpStr[0]>tmpStr[1]){//三个if完成排序
            t=tmpStr[1];tmpStr[1]=tmpStr[0];tmpStr[0]=t;//不符合大小排序规则,就把两个字符交换
            }
            if(tmpStr[0]>tmpStr[2]){
            t=tmpStr[2];tmpStr[2]=tmpStr[0];tmpStr[0]=t;
            }
            if(tmpStr[1]>tmpStr[2]){
            t=tmpStr[2];tmpStr[2]=tmpStr[1];tmpStr[1]=t;
            }
            Str[m][0]=tmpStr[0];//将中间变量赋给字符串数组
            Str[m][1]=tmpStr[1];
            Str[m++][2]=tmpStr[2];//m用于记录输入数据组数
            }
            for(i=0;i<m;i++){//以m作为依据输出
            printf("%c %c %c\n",Str[i][0],Str[i][1],Str[i][2]);//输出
            }
            }

            这个就是将每次输入的三字符做个从小到大的排序
            a,b,c三个字符
            将a与b,a与c分别比较,有比a小的就进行交换,让a成为最小的,然后比较b和c将两者中小的数摆在b的位置上,剩下的就是最大的数c,就完成了排序
            


            IP属地:浙江8楼2012-10-22 23:08
            收起回复


              IP属地:美国来自Android客户端10楼2012-10-23 22:04
              回复
                忘记说这是ACM题了。。。。不是只输入三个字符。。。是不定的


                IP属地:美国来自Android客户端11楼2012-10-23 22:06
                收起回复
                  吧主居然会C


                  IP属地:陕西12楼2012-10-24 14:46
                  收起回复