CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

大家帮偶看一段小程序,很简单,分虽少,结贴快!

楼主jsldhy(我爱典典)2005-09-03 17:11:36 在 C/C++ / 新手乐园 提问

函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。  
    条件:从字符串中间一分为二,右边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。  
    例如:位置   0   1   2   3   4   5   6   7   8  
       源字符串 h   g   f   e   a   b   c   d  
                                          8   7   6   5   9   1   2   3   4  
            则处理后字符串   d   c   b   a   h   g   f   e  
                                          4   3   2   1   9   8   7   6   5  
    部分源程序已给出。  
    请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。  
  #include<stdio.h>  
  #include<string.h>  
  #include<conio.h>  
   
  char   xx[20][80];  
   
  void   jsSort()  
  {  
   
  }  
   
  void   main()  
  {  
  readDat();  
  jsSort();  
  writeDat();  
  }  
   
  readDat()  
  {  
  FILE   *in;  
  int   i=0;  
  char   *p;  
   
  in=fopen(\   in.dat\   ,\   r\   );  
  while(i<20&&fgets(xx[i],80,in)!=NULL){  
  p=strchr(xx[i],'\\n');  
  if(p)*p=0;  
  i++;  
  }  
  fclose(in);  
  }  
   
  writeDat()  
  {  
  FILE   *out;  
  int   i;  
   
  clrscr();  
  out=fopen(\   out.dat\   ,\   w\   );  
  for(i=0;i<20;i++){  
  printf(\   %s\\n\   ,xx[i]);  
  fprintf(out,\   %s\\n\   ,xx[i]);  
  }  
  fclose(out);  
  }  
   
  我用插入法排的序,大家看对吗?  
  void   jssort()  
  {int   i,j,k,strl;  
    char   ch;  
    for(i=0;i<20;i++)  
    {strl=strlen(xx[i]);  
      for(j=(strl+1)/2+1;j<strl;j++)  
        {ch=xx[i][j];  
          k=j-1;  
          while(k>=0&&ch>xx[i][k])  
            {xx[i][k+1]=xx[i][k];  
              k--;}  
          xx[i][k+1]=ch;}}  
      for(j=0,k=(strl+1)/2;k<strl;j++,k++)  
        {ch=xx[i][j];  
          xx[i][j]=xx[i][k];  
          xx[i][k]=ch;}}}  
  帮帮忙了,谢谢^-^! 问题点数:15、回复次数:7Top

1 楼antijpn(antijpn)回复于 2005-09-03 17:37:25 得分 5

作业贴,转新手乐园Top

2 楼antijpn(antijpn)回复于 2005-09-03 17:59:17 得分 5

不但是作业,还是一贴多发,刚才一不小心先转了,麻烦新手乐园的BZ删掉一个Top

3 楼jsldhy(我爱典典)回复于 2005-09-09 16:30:24 得分 0

就是是作业贴,斑竹同志,我都已经给出答案了,难道在这上面请教一下都不行吗?Top

4 楼pc1000a(年)回复于 2005-09-11 15:40:12 得分 0

有意思吗?  
  Top

5 楼jsldhy(我爱典典)回复于 2005-09-11 16:29:33 得分 0

请问:pc1000a?  
  你有没有过自信心不足的时候,请问你有没有过需要别人肯定的时候!只要不是别有用心,难道有什么有意思和没意思吗?  
   
  即使是懒惰者和别有用心者,虽说大家都看不起这种行为,那么你保证你自身做的每一件事都是行得正,走得直吗?Top

6 楼wowo05(不要怕,不要只是幻想,尊重别人,《JAVA》,不断学习,共同进步,)回复于 2005-09-11 22:08:05 得分 5

哈哈,做这个把做人的问题都说了出来...汗!Top

7 楼jsldhy(我爱典典)回复于 2005-09-12 09:57:56 得分 0

结贴了!Top

相关问题

  • 帮忙编个简单的小程序
  • 请帮忙看一下?一个非常简单的小程序!马上结贴!!
  • 简单小程序!
  • 一个极其简单的小程序,帮忙解释一下。
  • 很简单的一个小程序,有关dateadd,帮我看看
  • 请帮我看看这个小程序,很简单的
  • 一个简单的小程序,请帮忙分析!
  • 帮我调试一个简单的小程序
  • 大家帮我来看看这段小程序对不对?很简单的
  • 哪位大哥帮小弟看一下我的这个简单的小程序?

关键词

  • 函数
  • 字符
  • 排序
  • 数据
  • 字符串
  • readdat
  • writedat
  • jssort
  • xx
  • dat

得分解答快速导航

  • 帖主:jsldhy
  • antijpn
  • antijpn
  • wowo05

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo