函数Rdata()实现从文件IN.dat中读取一篇英文文章存入字符串数组string中,请编写函数SortCharA(),
函数Rdata()实现从文件IN.dat中读取一篇英文文章存入字符串数组string中,请编写函数SortCharA(),其功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字爷串数组string中。最后调用函数Wdata(),把结果string输出到OUT.dat文件中。
例如,原文:dAe, BfC.
CcbbAA
结果:,. ABCdef
AACbbc
原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。
注意:部分源程序已经给出。请勿改动主函数main()、读数据函数Rdata()和输出数据函数Wdata()的内容。
include <stdio.h>
include <string.h>
include <conio.h>
char string [50] [80];
int maxline = 0; /* 文章的总行数 */
int Rdata (void);
void Wdata (void);
void SortCharA(void)
{
}
void main ()
{ if (Rdata ())
{ printf("数据文件 IN. dat 不能打开! \n\007");
return;
}
SortCharA ();
Wdata ( );
}
int Rdata (void)
{ FILE *fp;
int i = 0;
char *p;
if ((fp = fopen("IN. dat", "r")) == NULL)
return 1;
while (fgets(string[i], 80, fp) != NULL)
{ p = strchr(string[i], '\n');
if (p)
*p = 0;
i++;
}
maxline = i;
fclose (fp);
return 0;
}
void Wdata (void)
{ FILE *fp;
int i;
fp = fopen("OUT. dat", "w");
for (i=0; i<maxline; i++)
{ printf("%s\n", string[i]);
fprintf(fp, "%s\n", string[i]);
}
fclose (fp);
}
void SortCharA (void) { int i, j, k, str1; char ch; for (i=0; imaxline; i++) { str1 = strlen(string[i]); for (j=0; jstr1-1; j++) for (k=j+1; kstr1; k++) if (string[i] [j] > string [i] [k]) { ch = string[i] [j]; string[i] [j] = string[i] [k]; string[i] [k] = ch; } } } [解题思路] 这里采用strlen字符函数获取字符串的长度;对文章中的每一行的字符利用双重循环进行两两比较,较小的字符往行前放,较大的字符往行后放,这样就实现了以行为单位对字符从小到大的排序。在程序中的语句是if(string[i][j]>string[i][k])成立,string[i][j]和string[i][k]就交换数据。
英语达.请把下列个题中的字母组成一个你所学过的单词.o,m,w,l,c,e,ee,g,h,t,io 英语 2020-05-13 …
设关系R、s和T分别如下图所示,其中T是R和S的一种操作结果。则A.T=R ∞SB.T=R∞SC<E 计算机类考试 2020-05-23 …
设关系R,S和T分别如下图所示。则有 A.T=R∪SB.T=R-SC.T=R×SD. 计算机类考试 2020-05-23 …
(35)设关系 R,S 和T 分别如下图所示。则有T A)T= R ? S B)T= R ? SC) 计算机类考试 2020-05-23 …
设关系R和S分别如下图所示,若它们的结果关系为下图中的T。 则以下关系式中正确的是A. T=R SB 计算机类考试 2020-05-24 …
请问k,o,a,t,e,f,f,,能组成什么词组 英语 2020-06-03 …
r(A*A^T)=r(A^T*A)=r(A)证明方程AX=0与A^TAX=0同解AX=0显然有A^ 数学 2020-06-10 …
英语单词填空1.时间状语:d-r-n-2.场所:b-s-s-o-f-r--e-a-t-e-t3.教 英语 2020-07-14 …
写单词,这些单词打乱顺序了!:1.d,f,e,n,i,f,e,r,t,()2.g,h,o,e,t, 英语 2020-07-26 …
若n阶矩阵A存在一个s阶非零子式,而且A的所有的t阶子式都等于零,则()A.t≤R(A) 数学 2020-11-01 …