|
![]() | 作者: taojuntjpp [taojuntjpp]
![]() |
登录 |
函数ReadDate()的功能是实现从文件IN2.DAT中读取一篇英文文章存入到字符串数组xx中; 请编制函数strol(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不包含标点符号)仍以行重新存入字符串数组xx中,最后调用函数writedata()把结果xx输出到文件out2.DAT中。 代码如下: #include <stdio.h> #include <string.h> #include <conio.h> #include <ctype.h> char xx[50][80]; int maxline=0; /*文章的总行数*/ int ReadDat(void); int WriteDat(void); void StrOL(void) { /*这里面如何写啊?*/ } main() { clrscr(); if (ReadDat()) { printf("数据文件IN2.DAT不能打开!\n\007"); return; } StrOL(); WriteDat(); } int ReadDat(void) { FILE *fp; /*FILE 是什么关键字啊?有什么作用?*/ int i=0; char *p; if((fp=fopen("IN2.DAT","r"))==NULL) return 1; while(fgets(xx,80,fp)!=NULL) /*fgets(,,,)函数中三个参数分别代表什么意思,这个函数有什么功能*/ { p=strchr(xx,'\n');/*函数strchr()有什么些功能,参数是什么意思?*/ if(p) *p=0; i++; } maxline=i; fclose(fp); return 0; } void WriteDat(void) { FILE *fp; int i; clrscr(); fp=open("out2.DAT","w"); for(i=0;i<maxline;i++) { prinrf("%s\n",xx); fprintf(fp,"%f\n",xx); } fclose(fp); } |
地主 发表时间: 05-03-01 13:50 |
![]() | 回复: 286 [unique] ![]() |
登录 |
作业吗?作业我可不想回答。你别的地方都能编出来,这部分想来也不会太难。 提示: int pos1,pos2; char *str; for (int i=0;i<maxline;i++) //依次处理每一行的内容。 { str=strcat(xx[i],","); //给要处理的这一行加一个标记,以便该行得到处理。 pos1=pos2=0; //pos1表示某单词的开始位置,pos2表示单词结尾位置。 while (pos2<len(str) //从头开始,一直到全部处理完。 { while (isalpha(*(str+pos2)) //找该单词的结尾位置。 pos2++; for (int j=pos1;j<pos1+(pos2-pos1)/2;j++) //有了单词的头和尾位置,然后倒排。 { char tempchr=str[j];str[j]=str[pos2-j];str[pos2-j]=tempchr; } pos1=pos2=pos2+2;//找下一个单词的首位置。 } } |
B1层 发表时间: 05-03-01 14:31 |
![]() | 回复: taojuntjpp [taojuntjpp] ![]() |
登录 |
谢谢286啊 不是作业啊。是在三级上机考试题目上看到的。 我看了答案,可看不懂。 呵呵。其他的程序代码,是书上就有的,我是一个字一个字打上来的。 要填写的就是那段函数代码。 还有就是: FILE *fp; /* FILE 是什么关键字啊?有什么作用?*/??? int i=0; char *p; if((fp=fopen("IN2.DAT","r"))==NULL) return 1; while(fgets(xx,80,fp)!=NULL) /*fgets(,,,)函数中三个参数分别代表什么意思,这个函数有什么功能*/??? { p=strchr(xx,'\n'); /*函数strchr()有什么些功能,参数是什么意思?*/???? if(p) *p=0; i++; } |
B2层 发表时间: 05-03-01 20:56 |
![]() | 回复: 286 [unique] ![]() |
登录 |
每个编程语言,都有自己的关键字,关键字你可以理解为是这个系统保留的单词,这些词用户不能当作变量使用。比如int表示:定义后面的变量为一整型变量,这个int就是关键字。你不能定义成 int int=5。这样,后面的int此后作变量还是作类型?同样FILE在C里表示一个文件指针,你就不能再定义这样的变量了。 fgets(数组缓冲区首地址,要读的长度,文件指针),这个函数的功能是把文件指针所指的文件内容读要读的长度个字符,到数组缓冲区中。strchr没用过,不过你可到置顶贴中找。 |
B3层 发表时间: 05-03-02 08:56 |
![]() | 回复: taojuntjpp [taojuntjpp] ![]() |
登录 |
好的。又学了不少哦 谢谢老大啊~~~ 我来找找看哦。呵呵~~ |
B4层 发表时间: 05-03-02 09:09 |
![]() | 回复: taojuntjpp [taojuntjpp] ![]() |
登录 |
str…字符串操作函数 ........ char strchr(const char *s,int c) 检索并返回字符c在字符串s中第一次出现的位置 ........ 我找到了哦。呵呵~~ ![]() |
B5层 发表时间: 05-03-02 09:19 |
![]() | 回复: buszker [buszker] ![]() |
登录 |
FILE 是文件结构的 typedef 形式 他定义的指针才是文件指针 还有楼主 不知道 FILE为何物怎么C??????? |
B6层 发表时间: 05-03-15 17:36 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号