问答题在SQL Server 2008中,若要删除U1架构,使用的语句是:________SCHEMA U1
问答题已知数据文件in.dat中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后main()函数调用写函数writeDat()把数组b中的数输出到文件out.dat中。
例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。
8129,8+9!=1+2,则该数不满足条件忽略。
程序中已定义数组:a[300],b[300],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
#include <stdio.h>
int a[300], b[300], cnt=0;
void writeDat();
void readDat();
void jsValue()
{
}
main()
{
int i;
readDat();
jsValue();
writeDat();
printf("cnt=%d/n", cnt);
for(i=0; i<cnt; i++)
printf("b[%d]=%d/n", i, b[i]);
}
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;
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);
}
问答题已知数据文件IN86.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是;把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字;),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新十位数字均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT86.DAT文件中。 注意:部分源程序已给出。 程序中已定义数组:a[200],b[200],已定义变量:cnt。 请勿改动主函数main()、读函数readDa(()和写函数writeDat()的内容。 试题程序: #inc lude<stdio. h> #define MAX 200 int a [MAX], b [MAX] , cnt=0; void jsVal( ) void readDat( ) int i; FILE *fp; fp=fopen("IN86.DAT","r"); for (i=0; i<MAX; i++) fscanf(fp,"%d", fclose (fp); main ( ) int i; readDat ( ); jsVal ( ); print f ( "满足条件的数=%d/n", cnt); for (.i=0; i<cnt; i++) print f ( "%d" ,b Iii ; printf ( "/n" ); writeDat ( ); writeDat ( ) FILE *fp; int i; fp=fopen("OUT86.DAT","w"); fprintf(fp,"%d/n",cnt); for(i=0;i fprintf(fp, "%d/n",b[i]); fclose(fp);
问答题在SQL Server 2008中,主要数据文件必须建立在_______文件组中。
问答题设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C为课程,P为老师,S为学生,G为成绩,T为时间,R为教室,根据定义有如下的函数依赖集:F:{C→G,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R}W的规范程度可高达_________。若将关系模式W分解为3个关系模式W1(C,P),W2(S,C,G),W3(S,T,R,C)则Wl的规范化程度最高可达到_________,W2的规范化程度最高可达到_________,W3的规范化程度最高可到达_________。
问答题函数readDat()是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果XX输出到文件out.dat中。
条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,右边部分不作处理,排序后,左边部分与右边部分按例子所示进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。
例如:位置 0 1 2 3 4 5 6 7 8
源字符串 a b c d h g f e
1 2 3 4 9 8 7 6 5
则处理后字符串 h g f e d c b a
8 7 6 5 9 4 3 2 1
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
#include <stdio.h>
#include <string.h>
char xx[20] [80];
void readDat();
void writeDat();
void jsSort()
{
}
void main()
{
readDat ();
jsSort ();
writeDat ();
}
/*从文件in.dat中读取20行数据存放到字符串数组xx中*/
void readDat()
{
FILE *in;
int i=0;
char *p;
in=fopen("in.dat", "r");
while(i<20
if(p) *p=0;
i++;
}
fclose (in);
}
/ *把结果xx输出到文件out.dat中* /
void writeDat()
{
FILE *out;
int i;
out=fopen("out.dat", "w");
for(i=0; i<20; i++)
{
printf("%s/n", xx[i]);
fprintf(out, "%s/n", xx[i]);
}
fclose (out);
}
问答题在动态转储中,利用转储文件只能将数据库恢复到转储过程的某个状态,且转储文件中的数据可能不一致,只有和_________文件综合起来使用,才能使数据库恢复到一致状态。
问答题已知数据文件IN45.DAT中存有200个4位数;并已调用读函数readDat()把这些数存入数组a中,请编制一函jsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab-cd≥10且ab-cd≤20且两个数均为偶数,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数waiteDat( )把结果cnt及数组b中符合条件的4位数输出到OUT45.DAT文件中。 注意:部分源程序已给出。 程序中已定义数组:a[200],b[200],已定义变量;cnt。 请勿改动主函数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("IN45.DAT","r" ); for (i=0; i<MAX; i++ ) fscanf (fp, "%d" , fclose (fp) $ main ( ) int i; readDat ( ); jsVal (); print f ("满足条件的数=%d/n", cnt); for (i=0; i<cnt; i++) printf("%d/n",b[i]); print f ( "In" ); writeDat ( ); writeDat ( ) FILE *fp; int i; fp=fopen ("OUT45 .DAT", "w" ); fprintf (fp, "%d/n" , cnt); for (i=0; i<cnt; i++) fprintf(fp, "%d/n",b[i]); fclose (fp);
问答题某书店采用了SQL Server 2008数据库管理系统,该书店有一个需求,需要统计指定年份中每一本书的销售总额,例如:查询2012年所有书的销售总额。已知图书结构如下:图书表(书号BOOK_ID,书名BOOK_NAME,单价BOOK_PRICE)销售表(书号BOOK_ID,销售时间SALE_TIME,销售数量SALE_NUM)。假设单价和销售数量均为int型,书号和书名均为varchar(50)类型,销售时间为datetime型。请给出满足如下要求的多语句表值函数,该函数统计指定年份中每本书的销售总额。设函数名为:BOOK_PROFIT(@year int),函数的返回结果格式如下:书号销售总额B001 60000A004 50000……
问答题已知在IN.DAT文件中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编写函数SortDat(),其功能是:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat(),把结果输出到OUT.DAT文件中。
注意:部分程序已经给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define MAX 100
typedef struct
{
char dm[5]; /*产品代码*/
char mc[11]; /*产品名称*/
int dj; /*单价*/
int sl; /*数量*/
long je; /*金额*/
} PRO;
PRO sell[MAX];
void ReadDat();
void WriteDat();
void SortDat()
{
}
void main()
{
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}
void ReadDat()
{
FILE *fp;
char str[80],ch[11];
int i;
fp=fopen("IN.DAT","r");
for(i=0;i<100;i++)
{
fgets(str,80,fp);
memcpy(sell[i].dm,str,4);
memcpy(sell[i].mc,str+4,10);
memcpy(ch,str+14,4);
sell[i].dj=atoi(ch);
memcpy(ch,str+18,5);
sell[i].sl=atoi(ch);
sell[i].je=(long)sell[i].dj*sell[i].sl;
fclose(fp);
void WriteDat ()
{
FILE *fp;
int i;
fp=fopen("OUT.DAT","w");
for(i=0;i<100;i++)
{
printf("%s %s %4d %5d %5d/n",
sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);
fprintf(fp,"%s %S %4d %5d %5d/n",
sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);
}
fclose(fp);
}
问答题将文件in.dat中的200个整数读至数组xx中。请编制jsValue()函数,要求:求出数组xx中的数值为奇数的个数cnt1和数值为偶数的个数cnt2以及数组xx下标为奇数的元素值的算术平均值pj。
结果cnt1,cnt2,pj输出到out.dat中。
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数read_Dat()和输出函数writeDat()的内容。
#include <stdio.h>
#define N 200
int cnt1, cnt2, xx[N];
float pj; //平均值
void writeDat();
void jsValue()
{
}
/*read_dat(int xx[N])函数将文件in.dat中的200个整数读至数组xx中*/
void read_dat(int xx[N])
{
int i, j;
FILE *fp;
fp=fopen("in.dat", "r");
for(i=0; i<20; i++)
{
for(j=0; j<10; j++)
{
fscanf(fp, ""%d, ", //从文件in.dat中读取一个整数存入数组元素xx[i*10+j]中
printf("%d", xx[i*10+j]);
}
printf("/n");
}
fclose(fp);
}
void main()
{
read_dat(xx);
jsValue();
printf("/n/ncnt1=%d, cnt2=%d, pj=%6.2f/n", cnt1, cnt2, pj);
writeDat();
}
/*将计算结果cnt1, cnt2, pj输出到out.dat中*/
void writeDat()
{
FILE *fw;
fw=fopen("out.dat", "w");
fprintf(fw, "%d/n%d/n%6.2f/n", cnt1, cnt2, pj);//cnt1, cnt2, pj写入到out.dat中
fclose(fw);
}
问答题设有商品表(商品号,商品名,商品类别),其中商品号为主码,商品名和商品类别不为空。现要统计商品数量最多的前3类商品(包括并列情况),希望列出商品类别和商品数量。请补全下列语句: SELECT_______商品类别,COUNT(*)As商品数量 FROM商品表 GROUP BY商品类别 ORDER BY COUNT(*)DESC
问答题已知数据文件IN15.DAT中存有200个4位数,并已调用读函数readDat() 把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续小于该4位数以后的5个数且该数是偶数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT15.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void jsVal()
{
}
void readDat()
{
int i;
FILE *fp;
fp = fopen("IN15.DAT", "r");
for(i = 0; i < MAX; i++)
fscanf(fp, "%d",
fclose(fp);
}
main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%d/n", cnt);
for(i = 0; i < cnt; i++)
printf("%d ", b[i]);
printf("/n");
writeDat();
}
writeDat()
{
FILE *fp;
int i;
fp = fopen("OUT15.DAT", "w");
fprintf(fp, "%d/n", cnt);
for(i = 0; i < cnt; i++)
fprintf(fp, "%d/n", b[i]);
fclose(fp);
}
问答题函数ReadDat()的功能是从文件IN.DAT中读取一篇英文文章,存入字符串数组xx中。请编写函数SortCharD(),该函数的功能是:以行为单位按从大到小的顺序对xx中的字符进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat(),把结果xx输出到文件OUT.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:fedCBA,
bbCCAA
原始数据文件存放的格式是:每行的宽度均小于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 SortCharD()
{
}
void main()
{
system("CLS");
if(ReadDat())
{
printf("数据文件IN.DAT无法打开!/n/007");
return;
}
SortCharD();
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;
}
void WriteDat()
{
FILE*fp;
int i;
system("CLS");
fp=fopen("OUT.DAT", "w");
for(i=0; i<maxline; i++)
{
printf("%s/n", xx[i]);
fprintf(fp, "%s/n", xx[i]);
}
fclose(fp);
}
问答题下列程序的功能是:把s字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()从in.dat文件中读取50组数据,分别得出结果,且把结果输出到out.dat文件中。 例如,S字符串中原有的内容为Mn.123Zxy,调用该函数后,结果为No.123Ayz。 注意:部分程序已经给出。 请勿改动主函数main()和输出数据函数readwriteDAT()的内容。 #include<conio.h> #include<string.h> #include<stdio.h> #include<ctype.h> #define 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(); void readwriteDAT() int i; char a[N]; FILE *rf,*wf; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(i=0; i<50;i++) fscanf(rf,"%s",a); chg(a); fprintf(wf,"%s/n",a); ) fclose(rf); fclose(wf);
问答题设在SQL Server 2008某数据库中有商品表和销售表,表的定义如下:CREATE TABLE商品表(商品号char(10)PRIMARY KEY,商品名char(20)N0T NULL,销售总量int DEFAULT 0)CREATE TABLE销售表(商品号char(10),销售时间datetime,销售数量int NOT NULL,PRIMARY KEY(商品号,销售时间))FOREIGN KEY(商品号)REFERENCES商品表(商品号))现要创建一个具有如下功能的触发器:每当在销售表中插入一条销售记录时,修改商品表中对应商品的销售总量,假设一次只插入一条销售记录。请补全下列代码。CREATE TRIGGER tri_insert On_____FOR______AS________商品表_______销售总量=______+(SELECT销售数量FROM______)WHERE商品号IN(SELECT商品号FROM Inserted)
问答题时间序列分析也可以称为数据演变分析,它能描述行为随_______变化的对象的规律或趋势,并对其进行建模。
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组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中。请编写函数ChA(),其功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个新字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推,一直处理到倒数第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符。得到的新字符分别存放在原字符串对应的位置上,最后把已处理的字符串逆转后按行重新存入字符串数组xx中,最后调用函数WriteDat(),把结果xx输出到OUT.DAT文件中。 原始数据文件存放的格式是:每行的宽度均小于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 ChA(void) void main() if(ReadDat()) printf("数据文件IN.DAT不能打开!/n/007"); return; ChA(); 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; 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);
问答题已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中。请编写函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数wnteDat(),把结果输出到out.dat文件。 例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812,9-8-1-2<0,则该数不满足条件,忽略。 注意:部分源程序已经给出。 程序中已定义数组:a[3001,b[300];已定义变量:cnt。 请勿改动主函数main()、读函数ReadDat()和写函数wnteDat()的内容。 #include<stdio.h> int a[300],b[300],cnt=0; void jsValue() void ReadDat() FILE *fp; int i; fp=fopen("in.dat","r"); for(i=0;i<300;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); mein() int i; ReadDat(); jsValue(); writeDat(); printf("cnt=%d/n",cnt); for(i=0; i<cnt;i++) printf("b[%d]=%d/n",i,b[i]);
