<dl id="opymh"></dl>

<div id="opymh"></div>
      <div id="opymh"><tr id="opymh"></tr></div>

        <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

        <em id="opymh"></em>

        <em id="opymh"><ol id="opymh"></ol></em>

              频道栏目
              首页 > 考试 > 等级考试 > 三级 > 网络技术 > 正文

              计算机等级考试三级网络技术上机题(6)

              2014-12-18 08:25:10           
              收藏   我要投稿
              函数readDat()是从文件in77.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数writeDat()把结果xx输出到文件out77.dat中。
                条件:从字符串中间一分为二,左边部分按字符的ASCII?#21040;?#24207;排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。
                例如: 位置 0 1 2 3 4 5 6 7 8
                源字符串 a b c d h g f e
                1 2 3 4 9 8 7 6 5
                处理后的字符串 d c b a e f g h
                4 3 2 1 9 5 6 7 8
                注意:部分源程序已给出。
                请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
                试题程序:
                #include
                #include
                #include
                char xx[20][80];
                void readDat();
                void writeDat();
                void jsSort()
                {
                }
                 void main()
                {
                readDat();
                jsSort();
                writeDat();
                }
                void readDat()
                {
                FILE *in;
                int i=0;
                char *p;
                in=fopen("in77.dat","r");
                while (i<20 &&="" fgets(xx[i],80,in)!="">
                {
                p=strchr(xx[i],'n');
                if(p)
                *p=0;
                i++;
                }
                fclose(in);
                }
                void writeDat()
                {
                FILE *out;
                int i;
                system("CLS");
                out=fopen("out77.dat","w");
                for(i=0;i<20;i++)>
                {
                printf("%sn",xx[i]);
                fprintf(out,"%sn",xx[i]);
                }
                fclose(out);
                }
              【答案】
                void jsSort()
                {
                int i,j,k; /*定义循环控制变量*/
                int str,half; /*定义存储字符串长度的变量*/
                char temp; /*定义数据交换时的暂存变量*/
                for(i=0;i<20;i++)>
                {
                str=strlen(xx[i]); /*求各行字符串的总长度*/
                half=str/2; /*求总长度的一半*/
                for(j=0;j
                for(k=j+1;k<>
                if(xx[i][j]<>
                {
                temp=xx[i][j];
                xx[i][j]=xx[i][k];
                xx[i][k]=temp;
                }
                if(str%2==1)
                /*如果原字符串长度为奇数,则跳过最中间的字符,使之不参加排序*/
                half++;
                for(j=half;j
                /*右边部分按字符的ASCII值升序排序*/
                for(k=j+1;k<>
                if(xx[i][j]>xx[i][k])
                {
                temp=xx[i][j]; 
                xx[i][j]=xx[i][k];
                xx[i][k]=temp;
                }
                }
                }
                【解析】本题主要考查的是二维数组的访问及字符的排序问题。
                因为以行为字符串处理的单位,首先要通过字符串处理函数strlen()先求得一行字符串的长?#21462;?#23545;从0到(长度/2-1)的字符进行降序排序(数组的下标从0开始)。若长度为奇数,则再从(长度/2+1)开始(跳过最中间的字符)到最后1个字符进行升序排?#23567;?#21542;则,从(长度/2)开始到最后1个字符进行升序排?#23567;?#23383;符排序使用"选择排序法"。
              上一篇:计算机等级考试三级网络技术上机题(1)
              下一篇:计算机等级考试三级网络技术上机题(7)
              相关文章
              图文推荐

              关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

              版权所有: 红黑联盟--致力于做实用的IT技术学习网站

              极速飞艇好假
              <dl id="opymh"></dl>

              <div id="opymh"></div>
                  <div id="opymh"><tr id="opymh"></tr></div>

                    <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                    <em id="opymh"></em>

                    <em id="opymh"><ol id="opymh"></ol></em>

                          <dl id="opymh"></dl>

                          <div id="opymh"></div>
                              <div id="opymh"><tr id="opymh"></tr></div>

                                <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                                <em id="opymh"></em>

                                <em id="opymh"><ol id="opymh"></ol></em>

                                      彩票方案 足彩6场半全场胜负游戏 四中四多少倍 时时彩3d 双色球和值走势图 甘肃快三开奖结果今天推荐号码 甘肃11选5推荐号 河北20选5走势图带连线 腾讯分分彩官网 中超转会 3d彩票计算公式 彩票走势图哪个网站好 超级大乐透玩法 cba广东宏远 甘肃十一选五基本跨度走