C语言高手请入
来源:百度知道 编辑:UC知道 时间:2024/05/22 15:20:22
函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。
例如:原文:You He Me
I am a student.
结果:Me He You
student a am I
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
char xx[50][80];
int maxline=0;/*文章的总行数*/
int ReadDat(void);
void WriteDat(void);
void StrOL(void){这段为答案(1)
}
void main()
{
clrscr();
if(ReadDat()){
printf("数据文件IN.DAT不能打开!\n\007");
return;
}
StrOL();
例如:原文:You He Me
I am a student.
结果:Me He You
student a am I
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
char xx[50][80];
int maxline=0;/*文章的总行数*/
int ReadDat(void);
void WriteDat(void);
void StrOL(void){这段为答案(1)
}
void main()
{
clrscr();
if(ReadDat()){
printf("数据文件IN.DAT不能打开!\n\007");
return;
}
StrOL();
k其实是个计数器,记录目前pp中字符数量
j则负责把1~k的字符向后运一位
腾出pp[0]
如果我在大学的时候,就能回答你这个问题,不过现在……哎
是个考试的题吧.这方面的k,j啦,主要是为了换位或记数而设置的变量