函数ReadDat()的功能是实现从文件IN67.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOL(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT67.DAT中。
例如,原文:You He Me
I am a student.
结果:Me He You
student a am I
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <memory.h>
char xx[50][80] ;
int maxline = 0 ;/* 文章的总行数 */
int ReadDat(void) ;
void WriteDat(void) ;
void StrOL(void)
{
int i,j,k; /*定义数组下标变量*/
char t[80],t1[80]; /*定义数组暂存取得的单词*/
for(i=0;i<maxline;i++) /*逐行获取字符串数据*/
{
j=k=strlen(xx[i])-1; /*将每行末尾字符的下标保存在j和k中*/
t[0]=t1[0]='\0'; /*初始化两个字符数组*/
while(1) /*无条件循环,循环体内有结束循环的语句*/
{
while(isalpha(xx[i][j])==0&&j>=0) /*若以j为下标的字符不是字母并且还在数组xx之内*/
k=--j;
while(isalpha(xx[i][j])&&j>=0) /*若以j为下标的字符是字母并且还在数组xx之内*/
j--; /*当退出这个循环时,xx[i][j+1]和xx[i][k]分别是同一个单词的第一个和最后一个字母*/
memcpy(t1,&xx[i][j+1],k-j); /*将该单词保存到字符数组t1*/
t1[k-j]='\0'; /*为t1中的单词添加字符串结束标志*/
strcat(t,t1); /*将单词保存到数组t中*/
strcat(t," "); /*单词之间用空格分隔*/
if(j<0) /*如果以j为下标的字符不在数组xx中*/
break; /*则退出外层while循环*/
}
strcpy(xx[i],t); /*按行将处理完了字符串重新保存到数组xx中*/
}
}
void main()
{
system("CLS");
if (ReadDat ())
{
printf("数据文件 IN67.DAT不能打开!\n\007") ;
return ;
}
StrOL() ;
WriteDat() ;
}
int ReadDat(void)
{
FILE *fp ;
int i = 0 ;
char *p;
if((fp = fopen("IN67.DAT", "r")) == NULL) return 1 ;
while(fgets(xx[i], 80, fp) != NULL)
{
p = strchr(xx [i], '\n') ;
if(p) *p = 0 ;
i++ ;
}
maxline = i ;
fclose(fp) ;
return 0 ;
}
void WriteDat(void)
{
FILE*fp ;
int i ;
system("CLS");
fp = fopen("OUT67.DAT", "w") ;
for(i = 0 ; i < maxline ; i++)
{
printf("%s\n", xx[i]) ;
fprintf(fp, "%s\n", xx[i]) ;
}
fclose(fp) ;
}
没有合适的资源?快使用搜索试试~ 我知道了~
新南开一百题上机题库详细分类
共99个文件
txt:99个
5星 · 超过95%的资源 需积分: 10 42 下载量 153 浏览量
2009-03-22
11:08:44
上传
评论 1
收藏 116KB RAR 举报
温馨提示
《新南开一百题上机题库详细分类》是一份专为计算机科学和技术学习者设计的资源,源自2008年的南开大学。这份题库涵盖了丰富的上机实践题目,旨在帮助学生深入理解和掌握数据库相关知识。通过精心的分类,它使得学习者能够根据不同的主题和难度进行针对性的训练,提升自己的编程技能和问题解决能力。 我们可以从“南开百题”这一标签了解到,这是一系列源于南开大学的编程挑战,可能源于当年的教学大纲或者考试标准。南开大学是中国知名的高等学府,其计算机科学教育在国内外享有一定声誉,因此,这些题目代表了一定的专业水准和学术要求。 重点在于“数据库”这一标签,意味着题库中的大部分题目将围绕数据库管理和数据处理展开。数据库是计算机科学中的核心领域,涉及SQL语言、数据库设计、事务处理、性能优化等方面。学生通过解决这些题目,可以深入理解关系型数据库理论,如ER模型、范式理论、索引构建等,同时也能提升实际操作数据库的能力,如数据查询、数据插入、更新和删除。 接下来,我们来看具体的文件名称——“南开百题2008年”。这可能是题库的主文件,包含2008年度的所有题目和解答。其中可能包括了多种类型的题目,如选择题、填空题、程序设计题等,每一道题都可能对应一个具体的知识点或技能要求。例如,可能有题目要求设计一个数据库模式,有的则可能需要编写SQL查询来实现特定的数据检索功能,还有的可能涉及到数据库安全性或并发控制的问题。 这份《新南开一百题上机题库详细分类》对于想要提升数据库技术的学生来说,是一份宝贵的资源。通过逐个攻破这些题目,不仅可以巩固理论知识,还能提高实际应用能力,为将来的工作或研究打下坚实的基础。同时,它的分类方式也便于自我检测和针对性复习,有助于系统性地提高编程和数据库管理技能。
资源推荐
资源详情
资源评论
收起资源包目录
2008年.rar (99个子文件)
南开百题2008年
200个,4位数
连续大于后5个数.txt 2KB
连续小于后5个数.txt 2KB
连续大于前5个数
偶数.txt 2KB
奇数.txt 2KB
千位大于等于百位.txt 2KB
十位是原千位,个位是原十位
百位和十位组成新的十位数.txt 2KB
个位和百位组成新的十位数
ab小于cd.txt 2KB
均为素数且不为零.txt 2KB
ab大于cd.txt 2KB
ab-cd≥10且ab-cd≤20.txt 2KB
ab-cd≥0且ab-cd≤10.txt 3KB
各位均是奇数.txt 2KB
千-百-十-个.txt 2KB
千+十=百+个.txt 2KB
各位均是0或2或4或6或8.txt 2KB
十位是原个位,个位是原千位
9整除.txt 2KB
17整除.txt 3KB
千+个=百+十.txt 2KB
千位小于等于百位.txt 2KB
1000个,十进制数
1000个,奇数.txt 2KB
1000个,奇数,偶数.txt 2KB
1000个,偶数.txt 2KB
选票
小于等于5个人.txt 2KB
全选或全不选.txt 2KB
大于5个人.txt 2KB
200个,整数
被3整除或能被7整除.txt 1KB
下标为偶数.txt 1KB
下标为奇数.txt 1KB
英文字符
字符按从小到大的顺序.txt 2KB
最后一个字符右移4位后加最后第二个字符的ASCII值.txt 2KB
第一个字符的ASCII值加第二个字符的ASCII值.txt 2KB
单词进行倒排.txt 3KB
所有字符右移4位.txt 2KB
所有字符左移4位.txt 2KB
改变字母
所有小写字母,改成上一字母.txt 2KB
所有小写字母,改成下一字母.txt 2KB
所有字母,改成下一字母.txt 2KB
所有的字符左移一位.txt 1KB
对字符按从大到小进行排序.txt 2KB
f(p)=p11 mod 256
小于等于32或其ASCII值是偶数.txt 2KB
0至9或计算后小于等于32.txt 2KB
偶数或计算后小于等于32.txt 2KB
小于等于32或大于130.txt 2KB
小于等于32或对应的是小写字母.txt 2KB
小于等于32或对应的是大写字母.txt 2KB
小写字母或计算后f(p)的值小于等于32.txt 2KB
小于等于32或对应的是0至9.txt 2KB
大写字母或计算后小于等于32.txt 2KB
小于等于32或其ASCII值是奇数.txt 2KB
o左边的字符串.txt 2KB
素数
500~800之间素数.txt 1KB
100以内.txt 1KB
100~1000.txt 1KB
大于整数m且紧靠m.txt 2KB
300个,4位数
个—千—百—十
大到小的排序.txt 2KB
平均值.txt 2KB
千-百-十-个
小到大排序.txt 2KB
平均值.txt 2KB
千位+个位
小到大.txt 2KB
平均值.txt 2KB
四位数是素数
小到大.txt 2KB
平均值.txt 2KB
千位+百位
大到小.txt 2KB
平均值.txt 2KB
个数<200
和是奇数.txt 2KB
整数,小数部分之和.txt 2KB
右移1位,奇数.txt 2KB
和是偶数.txt 2KB
右移1位,偶数.txt 2KB
1000至9999,排序
后三位升序.txt 2KB
后三位降序.txt 2KB
混乱计算
cos (x) -x=0.txt 1KB
1到1000之内能被7或11整除.txt 1KB
一个长度为2的子字符串.txt 2KB
An=An-2+2An-1.txt 2KB
K1,K2,…,K9.txt 2KB
100至999.txt 1KB
11至999.txt 1KB
5000以下.txt 1KB
从1到n编号.txt 1KB
SIX和NINE.txt 1KB
Fibonacci数列中大于t.txt 984B
n以内同时能被3与7整除.txt 963B
产品销售
产品名称从大到小
金额从大到小.txt 2KB
金额从小到大.txt 2KB
产品代码从大到小
金额从大到小.txt 2KB
产品名称从小到大
金额从小到大.txt 2KB
金额从大到小
名称从小到大.txt 2KB
代码从大到小.txt 2KB
产品代码从小到大
金额从大到小.txt 2KB
金额从小到大.txt 2KB
金额从小到大
代码从小到大.txt 2KB
代码从大到小.txt 2KB
20行数据问题?
左降与右换.txt 2KB
奇数由小到大.txt 2KB
左降与右升.txt 2KB
左升与右换.txt 2KB
200组,数据
1大于2加3.txt 2KB
2大于1加3.txt 2KB
共 99 条
- 1
资源评论
- qqfsunny2013-09-10题目很全,注释详细,很不错的资源。
backchani
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功