函数ReadDat()实现从数据文件in.dat中读取一篇英文文章存人到字符串数组xx中。请编写函数SortCharD(),函数的功能是:以行为单位对字符按ASCII码值从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后main()函

admin2013-12-06  44

问题 函数ReadDat()实现从数据文件in.dat中读取一篇英文文章存人到字符串数组xx中。请编写函数SortCharD(),函数的功能是:以行为单位对字符按ASCII码值从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件out.dat中。
  例:原文:dAe,BfC.
    CCbbAA
  结果:fedCBA,
    bbCCAA
    原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
【试题程序】
    #include
    #include
    char xxES0][80];
    unsigned int rnaxline=0  /*文章的总行数*,
    int ReadDat(void);
    void WriteDat(void);
    void SortCharD(void)
    {
    }
    void main()
    {
    if(ReadDat()){
    printf(”数据文件IN.DAT不能打开\n\007”):
    return;
    }
    SortCharD();
    WriteDat();
    }
    int ReadDat(void)
    {
    FILE*fp;
    int i=0;
    char*P;
    if((fp—fopen(“in.dat”,”r”))==NULL)
    return 1;
    while(fgets(xxEi],80,fp)!=NULL){
    p=strchr(xx,‘\d);
    if(P)*P=0:
    i++;
    }
    maxline=i:
    fclose(fp);
    return 0;
    }
    void WriteDat(void)
    {
    FILE*fp;
    unsigned int i;
  fp=fopen(”out.dat”,”W”);
  for(i=0;i    printf(“%s\n”,xx);
    fprintf(fp.“%s\n”,xx);
  }
  fclose(fp);
}

选项

答案void SortCharD(void) {unsigned int i,j.k; int temp; for(i=0,i
解析
转载请注明原文地址:https://jikaoti.com/ti/4T37FFFM
0

最新回复(0)