试卷详情
-
三级数据库技术机试-249
-
[简答题]函数ReadDat( )实现从IN.DAT文件中读取一篇英文文章并存入道字符串数组xx中。请编写函数StrOL( ),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数WriteDat( ),把结果xx输出到OUT.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<conio.h>
#include<ctype.h>
char xx[50][80];
int maxline=0;/*文章的总行数*/
int ReadDat(void);
void WriteDat(void);
void StrOL(void)
void main( )
if(ReadDat( ))
printf("数据文件IN.DAT不能打开!/n/007");
return;
StrOL( );
WriteDat( );
int ReadDat(void)
FILE*fp;
int i=0;
char*p;
if((fp=fopen("IN.DAT","r"))==NULL)
return.1;
while(fgets(xx[i],80,fp)!=NULL)
p=strchr(xx[i],’/n’);
if(p)
*p=0;
i++;
-
[简答题]函数ReadDat( )实现从IN.DAT文件中读取一篇英文文章并存入字符串数组xx中。请编写函数StrOR( ),其函数的功能是:以行为单位,依次把字符串中所有小写字母o左边的字符串内容移到该串的右边,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边,之后,把已处理的字符串仍按行重新存入字符串数组xx中。最后main( )函数调用函数WriteDat( ),把结果xx输出到OUT.DAT文件中。
例如, 原文: n any field. Yu can create an index
you have the correct record.
结果: n any field. Yu can create anindex
rd. yuhavethe crrect rec
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已经给出。
请勿改动主函数main( )、读数据函数ReadDat( )和输出数据函数writeDat( )的内容。
#include<stdio.h>
#include<string.h>
#include<conio.h>
char xx[50][80];
int maxline=0; /*文章的总行数*/
int ReadDat(void);
void WriteDat(void);
void StrOR(void)
void main( )
if(ReadDat( ))
printf("数据文件IN.DAT不能打开!/n/007");
return;
StrOR( );
WriteDat( );
int ReadDat(void)
FILE*fp;
int i=0;
char*p;
if((fp=fopen("IN.DAT","r"))==NULL)
return 1;
while(fgets(xx
-
[简答题]已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat( )把这些数存入数组a中。请编写函数jsVal( ),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat( ),把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意:部分程序已经给出。
程序中已定义数组:a[200],b[200];已定义变量:cnt。
请勿改动数据文件IN.DAT中的任何数据及主函数main( )、读函数readDat( )和写函数writeDat( )的内容。
#include<stdio.h>
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal( )
void readDat( )
int i;
FILE *fp;
fp=fopen("IN.DAT","r");
for(i=0; i<MAX; i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
VOid writeDat( )
FILE *fp;
int i;
fp=fopen("OUT.DAT","W");
fprintf(fp,"%d/n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"%d/n",b[i]);
fclose(fp);
void main( )
int i;
readDat( );
jsVal( );
printf("满足条件的数=%d/n",cnt);
for(i=0; i<cnt; i++)
printf("%d",b[i]);
printf("/n");
writeDat( );
-
[简答题]在in.da文件中有200个正整数,且每个数均在1000~9999之间。函数ReadDat( )读取这200个数并存放到数组aa中。请编写函数jsSort( ),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat( ),把结果bb输出到out.dat文件中。
例如:处理前6012 5099 9012 7025 8088
处理后9012 6012 7025 8088 5099
注意:部分程序已经给出。
请勿改动主函数main( )、读数据函数ReadDat( )和输出数据函数WriteDat( )的内容。
#include<Stdio.h>
#include<string.h>
#include<conio.h>
int aa[200],bb[10];
void jsSort( )
void ReadDat( )
FILE *in;
int i;
in=fopen("in.dat","r");
for(i=0;i<200;i++)
fscanf(in,"%d,",&aa[i]);
fclose(in);
void WriteDat( )
FILE *out;
int i;
out=fopen("out.dat","W");
for(i=0;i<10;i++)
printf("%d",bb[i]);
fprintf(out,"%d/n",bb[i]);
fclose(out);
void main( )
ReadDat( );
jsSort( );
WriteDat( );
-
[简答题]请编写函数num(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数readwriteDat( ),从in.dat文件中读取10组数据,分别得出结果,且把结果输出到out.dat文件中。
部分程序已经给出。
例如,若输入17 5,则应输出:19 23 29 31 37。
注意:部分程序已经给出。
请勿改动主函数main( )和输出数据函数readwriteDat( )的内容。
#include<conio.h>
#include<stdio.h>
void readwriteDat( );
void num(int m,int k,int xx[])
msin( )
int m,n,xx[1000];
printf("/nPlease enter two integers:");
scanf("%d%d",&m,&n);
num(m,n,xx);
for(m=0; m<n; m++)
printf("%d",xx[m]);
printf("/n");
readwriteDat( );
void readwriteDat( )
int m,n,xx[1000],i;
FILE *rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0; i<10;i++)
fscanf(rf,"%d%d",&m,&n);
num(m,n,xx);
for(m=0; m<n;m++)
fprintf(wf,"%d",xx[m]);
fprintf(wf,"/n");
fclose(rf);
fclose(wf);