问答题函数ReadDat()实现从文件eng.in中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件ps10.dat中。 替代关系:f(p)=p*43 mod 256(p是数组中某一个字符的ASCII值,fO)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后fb)值小于等于32,则该字符不变,否则将qp)所对应的字符进行替代。 部分源程序己给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include<stdio.h> #include<string.h> #include<conio.h> #include<ctype.h> unsigned char xx[50][80]; int maxline=0;/*文章的总行数*/ int ReadDat(void) void WriteDat(void) void encryptChar() void main() clrscr(); if(ReadDat()) printf ("数据文件 ENG. IN 不能打开! /n/007"); return; encryptChar(); WriteDat(); int ReadDat(void) FILE *fp; int i=0; unsigned char *p; if((fp=fopen("eng.in","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; fp-fopen("ps10.dat","w"); for(i=0;i<maxline;i++) printf("%s/n",xx[i]); fprintf(fp,"%s/n",xx[i]); fclose(fp);
问答题已知数据文件in.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd≥10且ab-cd≤20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。
最后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,",
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();
问答题函数ReadDat()实现从文件in.dat中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR(),其函数的功能是:以该文章中的行为单位依次扫描一行字符串中的小写字母o,每次将小写母o的左右字符串部分作交叉换位,即左边字符串移到小写字母o的右边,而原先右边的则反之,并把小写母o删除,依次直至这一行中的小写母o处理完,之后把己处理的字符串仍按行重新存入字符串数组xx中。
最后main()函数调用函数WriteDat()把结果xx输出到文件out.dat中。
例如原文:you have the correct record.
第1个o:u have the correct record.y
第2个o:rrect record.yu have the c
第3个o:rd.yu have the crrect rec
提示:对于每一行字符串数组处理有如下一种递归调用算法可供参考:
查找字符串中首个小写字母"o"的位置;没有找到"o",则结束递归调用;找到"o",则按题意对字符串进行处理,形成新的字符串,然后返回,继续进行递归调用。
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include <stdio.h>
#include <string.h>
char xx[50] [80];
int maxline=0; /*文章的总行数*/
int ReadDat (void);
void WriteDat(void);
void StrOR(void)
{
}
void main()
{
if (Readmat ())
{
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[i],80,fp) != NULL)
{
p=strchr(xx[i], "/n");
if(p) *p=0;
i++;
}
maxline=i;
fclose (fp);
return 0;
}
/*把结果xx输出到文件out.dat中*/
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("out.dat", "w");
for(i=0; i<maxline; i++)
{
printf("%s/n", xx[i]);
fprintf(fp, "%s/n", xx[i]);
}
fclose (fp);
}
问答题Google的云数据库是一个分布式的结构化数据存储系统,称作_______。
问答题按照数据库应用系统生命周期模型,系统设计阶段细分为概念设计、________计和物理设计三个步骤。
问答题粒度是反映数据库系统中综合程度的指标。设有表T1(商品标识,销售时间,销售量)、T2(商品标识,日期,总销售量)和T3(商品类别,月份,总销售量),其中粒度最大的表是_________。
问答题程序test.c的功能是:把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()把结果输出到out.dat文件中。
例如:s字符串中原有内容为:Mn.123xyZ,则调用该函数后,结果为:n.123xyZM。
请勿改动数据文件in.dat中的任何数据、主函数main()和输出函数readwriteDAT()的内容。
#include <stdio.h>
#include <string.h>
#define N 81 //定认宏变量N, 其值等于81
void readwriteDAT();
void chg(char *s)
{
}
main ()
{
char a[ N ];
printf("Enter a string:"); gets(a);
printf("The original string is: "); puts(a);
chg (a);
printf ("The string after modified:");
puts (a);
readwriteDAT ();
}
/*从文件in.dat中读入字符串赋给字符串变量a,调用函数chg(a)对字符串按照题目的要求进行处理,并把处理结果写入到文件out.dat中*/
void readwriteDAT()
{
int i;
char a [N];
FILE *rf, *wf;
rf=fopen("in.dat", "r");
wf=fopen("out.dat", "w");
for(i=0; i<10; i++)
{
fscanf (rf, "%s", a); //从文件in.dat中读取一个字符串赋给字符串a
chg (a); //调用函数chg(a)对字符串a进行处理
fprintf(wf, "%s/n", a); //把处理结果写入到out.dat文件中
}
fclose(rf);
fclose (wf);
}
问答题函数ReadDat()实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组xx中;请编制函数eneryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,其替代值仍存入数组xx所对应的位置上,最后调用函数WriteDac()把结果xx输出到文件out.dat中。
替代关系:f(p)=p*11 mod 256, mod为取余运算,p是数组xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则用f(p)替代所对应的字符。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WfiteDat()的内容。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
unsigned char xx[50][80];
int maxline=0; /*文章的总行数*/
int ReadDat (void);
void WriteDat (void);
void encryptChar()
{
}
void main()
{
if(ReadDat())
{
printf("数据文件in.dat不能打开!/n/007");
return;
}
encryptChar();
WriteDat();
}
/*从文件in.dat中读取一篇英文文章, 存入到无符号字符串数组xx中*/
int ReadDat (void)
{
FILE *fp;
int i=0;
unsigned char *p; //定义无符号字符型指针变量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++;
}
maxline=i;
fclose(fp);
return 0;
}
/*把结果xx输出到文件out.dat中*/
void WriteDat (void)
{
FILE *fp;
int i;
fp=fopen("out.dat", "w");
for(i=0; i<maxline; i++)
{
printf("%s/n", xx[i]);
fprintf(fp, "%s/n", xx[i]);
}
fclose (fp);
}
问答题下面程序段的功能是:在 数据库中判断是否存在名为my_proc的存储过程,若存在,则删除之,然后创建同名的存储过程,该存储过程的功能是向author_id、author_name、address和telephone字段插入数据。阅读并回答以下问题: USE bookdb GO IF EXISTS(SELECT____________FROM Sysobjects WHERE name=′my_proc′and type=′ P ′) DROPPROC my_proc GO CREATE PROC my_proc @a int, @b char(8),@c char(50)____________INSERT INTO author(author_id,author_name,address) VALUES(@a,@b,@c) GO
问答题设在SQL Server 2008某数据库中有商品表和销售表,表的定义如下:CREATE TABLE正商品表(商品号char(10)PRIMARY KEY,商品名char(20),类别char(10),进货单价int)CREATE TABLE销售表(商品号char(10),销售时间datetime,销售数量int,销售单价int,PRIMARY KEY(商品号,销售时间),FOREIGN KEY(商品号)REFERENCES商品表(商品号))现要创建一个具有如下功能的存储过程:查询指定类别的每个商品的商品号和销售总利润,包括没有被销售过的商品(未被销售过的商品的利润为0)。请补全下列代码。CREATE______p_Profit@lb char(10)ASSELECT商品表.商品号,CASEWHEN销售表.商品号_______THEN 0ELSE_______((销售单价一进货单价)*数量)END AS销售总利润FROM商品表_______JOIN销售表ON商品表.商品号=销售表.商品号WHERE类别=_______GROUP BY________
问答题函数ReadDat()的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中。请编写函数CovertCharD(),该函数的功能是:以行为单位把字符串中的所有小写字母改成该字母的上一个字母,如果是字母a,则改成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat(),把结果xx输出到文件OUT.DAT中。
例如,
原文 Adb Bcdza
abck LLhj
结果 Aca Bbcyz
zabj LLgi
原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。
注意:请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
【试题程序】
#include < stdio.h >
#include < string.h >
#include < stdlib.h >
char xx[50][80];
int maxline = 0 ;
int ReadDat (void) ;
void WriteDat (void) ;
void CovertCharD ()
{
}
void main ()
{
system ("CLS") ;
if (Readmat ())
{
printf ("数据文件 IN.DAT无法打开
/n/007") ;
return;
}
CovertCharD () ;
WriteDat () ;
}
int ReadDat ()
{
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++;
}
maxline = i ;
fclose (fp) ;
return 0 ;
}
void WriteDat (void)
{
FILE * fp;
int i ;
system ("CLS") ;
fp = fopen ("OUT. DAT", "w") ;
for (i =0;i <maxline;i ++ )
{
printf ("%s/n",xx[i] ) ;
fprint f (fp, "%s/n", xx[i] ) ;
}
fclose (fp) ;
}
问答题函数ReadDat()实现从文件in.dat中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果xx输出到文件out.dat中。
替代关系:fl(p)=p*11 mod 256,mod为取余运算,p是数组xx中某一个字符的ASCII值,fl(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则用f(p)替代所对应的字符。
请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
unsigned char xx[50][80];
int maxline=0; /*文章的总行数*/
int ReadDat (void);
void WriteDat (void);
void encryptChar()
{
unsigned int val;
}
void main()
{
if (ReadDat())
{
printf("数据文件in.dat不能打开!/n/007"");
return;
}
encryptChar();
WriteDat();
}
/*从文件in.dat中读取一篇英文文章, 存入到字符串数组xx中*/
int ReadDat (void)
{
FILE *fp;
int i=0;
unsigned 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++;
}
maxline=i;
fclose (fp);
return 0;
}
/*把结果xx输出到文件out.dat中*/
void WriteDat (void)
{
FILE *fp;
int i;
fp=fopen("out.dat", "w");
for(i=0; i<maxline; i++)
{
printf("%s/n", xx[i]);
fprintf(fp, "%s/n", xx[i]);
}
fclose (fp);
}
问答题在数据库系统出现系统故障后进行恢复时,对于事务T,如果日志文件中有BEGINTRANSACTION记录,而没有COMMIT或ROLLBACK记录,则数据库管理系统处理这种事务时应执行的操作是_________。
问答题在SQL Server 2008中,设log1是SQL Server身份验证模式的数据库服务器登录帐户。现要授予log1具有创建数据库的权限,请补全下列语句:EXEC sp_addsrvrolemember'log1','_________'
问答题在SQL Server 2008中,若要修改DB1数据库结构,使用的语句是:_______DATABASE DB1……
问答题数据库管理系统提供了数据定义语言(DDL),用于定义各种数据库对象。数据定义语句经DDL编译器编译后,各种对象的描述信息存放在数据库的_________中。
问答题下列程序的功能是:将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数NumSort(int a[10][9])实现此功能,最后调用Wdata()函数将新序列输出到文件out.dat中。
说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。
例:序列{6,8,9,1,2,5,4,7,3}
经重排后成为{3,4,5,2,1,6,8,9,7}
请勿改动主函数main()和写函数Wdata()的内容。
#include <stdio.h>
NumSort(int a[10] [9])
{
}
/*将新序列输出到文件out.dat中*/
void Wdata(int a[10] [9])
{
FILE *fp;
int i, j;
fp=fopen("out.dat", "w");
for (i=0; i<10; i++)
{
for (j=0; j<9; j++)
{
fprintf(fp, "%d", a[i] [j]); //把数组元素a[i][j]写入文件out.dat中
if (j <= 7) //如果列值小于等于7,则写入一个逗号
fprintf(fp, ",");
}
fprintf(fp, "/n");
}
fclose (fp);
}
main ()
{
int a[10] [9] =
{
{6, 8, 9, 1, 2 5, 4 7, 3}
{3, 5, 8, 9, 1 2, 6 4, 7}
{8, 2, 1, 9, 3 5, 4 6, 7}
{3, 5, 1, 2, 9 8, 6 7, 4}
{4, 7, 8, 9, 1 2, 5 3, 6}
{4, 7, 3, 5, 1 2, 6 8, 9}
{9, 1, 3, 5, 8 6, 2 4, 7}
{2, 6, 1, 9, 8 3, 5 7, 4}
{5, 3, 7, 9, 1 8, 2 6, 4}
{7, i, 3, 2, 5 8, 9 4, 6}
};
int i, j;
NumSort (a);
for (i=0; i<10; i++)
{
for (j=0; j<9; j++)
{
printf("%d", a[i] [j]);
if (j <= 7)
printf (", ");
}
printf ("/n");
}
Wdata (a);
}
问答题已知数据文件IN.DAT中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编写函数jsValue(),其功能是:求出这些4位数中素数的个数cnt,再求出这些素数的平均值pjz1,以及非素数的平均值pjz2,最后调用函数writeDat(),把结果cnt、pjz1和pjz2,输出到OUT.DAT文件中。
例如,5591是素数,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。
9812是非素数,则该数不满足条件,计算平均值pjz2。
注意:程序中已定义数组a[300]、b[300],已定义变量cnt、pjz1和pjz2。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
【试题程序】
#include < stdio.h >
int a[300], cnt=0;
double pjz1=0.0,pjz2=0.0;
void readDat();
void writeDat();
int isP(int m)
{
int i;
for(i =2;i <m;i ++)
if(m%i ==0)
return 0;
return i;
}
void jsValue()
{
void main ()
{
readDat();
jsValue();
writeDat();
printf ("cnt=%d/n 满足条件的平均值pjz1
=%7.21f/n不满足条件的平均值pjz2
=%7.21f/n",cnt,pjz1,pjz2);
void readDat()
{
FILE * fp;
int i;
fp = fopen( "IN.DAT","r");
for(i=0;i <300;i ++)
fscanf(fp,"%d,",
fclose(fp);
}
void writeDat()
{
FILE * fp;
fp = fopen("OUT.DAT","w");
fprintf (fp,"%d/n%7.21f/n%7.21f/n",
cnt ,pjz1,pjz2);
fclose(fp);
}
问答题某公司需建立产品信息数据库,经调查其业务要求如下:Ⅰ.一种产品可以使用多个不同利,类的部件,也可以使用多个不同种类的零件;一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;Ⅱ.对于一种具体的部件,要记录这种部件使用的各种零件的数量;Ⅲ.对于一种具体的产品,要记录这种产品使用的各种部件数量和各种零件数量,但部件所使用的零件数量不计入该种产品的零件数量;Ⅳ.一个供应商可供应多种零件,但一种零件只能由一个供应商供应。根据以上业务要求,某建模人员构建了如下E-R图:此E-R图中的实体的属性完整,但实体、联系的设计存在不合理之处。
问答题事务是数据库执行的基本单位,如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未执行过,这就是保持数据库处于_________状态。
