主观

根据设计二中关系模式,以下SQL语句是用于“建立2005年1月期间每张发票的发票号,交易日期,交易商品件数和交易总金额的视图”的不完整语句,请填补其中的空缺。

 CREATE VIEW Invoice -total(1)

 SELECT Invoice. ino, ldate,(2),(3)

 FROM Invoice, lnvoicedetail

 WHERE(4)AND

 ldate BETWEEN '2005-01-01'AND '2005-01-31'

 GROUPBY(5);

参考答案
您可能感兴趣的试题

阅读下列程序说明和C++代码,将应填入(n)处。

 【程序6说明】

 本程序实现两个多项式的乘积运算。多项式的每一项由类Item描述,而多项式由类List描述。类List的成员函数有:

 createList():创建按指数降序链接的多项式链表,以表示多项式。

 reverseList():将多项式链表的表元链接顺序颠倒。

 multiplyList(List L1,List L2):计算多项式L1和多项式L2的乘积多项式。

 【程序6】

 #include<iostream.h>

 class List;

 class |tem{

   friend class List;

 private:

   double quot;

   int exp;

   |tem * next;

 public:

    |tem(double_quot,int_exp)

    { (1) ;}

 };

 class List {

 private:

   |tem * list;

 public:

  List(){list=NULL;}

  void reverseList();

  void multiplyList(List L1,List L2);

  void createList();

 };

 void List::createList()

 { |tem * p,* u,*pre;

  int exp;

  doubte quot;

  list=NULL;

  while(1){

  cout<<"输入多项式中的一项(系数、指数):"<<endl;

  cin>>quot>>exp:

  if(exp<0)break;  //指数小于零,结束输入

  if(quot==0)continue;

  p=list;

  while((2)){  //查找插入点

   pre=p;p=p->next;}

  if(p!=NULL&&exp==p->exp) {p->quot+=quot;continue;}

   u=(3);

   if(p==list) list=u;

   else pre->next=u;

   u->next=p;}

  }

  void List::reverseList()

  { |tem*p,*u;

   if(list==NULL)return;

   p=list->next;list->next=NULL;

    while(p!=NULL)}

    u=p->next;p->next=list;

    list=p;p=u;}

  }

  void List::multiplyList(List L1,List L2)

  {|tem*pLI,*pL2,*u;

  int k,maxExp;

  double quot;

  maxExp=(4);

 L2.reverseList();list=NULL;

 for(k=maxExp;k>=0;k--){

  pL1=L1.list;

  while(pL1!=NULL&&pL1->exp>k)pL1=pL1->next;

  pL2=L2.list;

  while(pL2!=NULL&&(5) pL2=pL2->next;

  quot=0.0;

  while(pL1!=NULL&&pL2!=NULL){

   if(pL1->exp+pL2->exp==k){

   (6);

    pL1=pL1->next;pL2=pL2->next;

   }else if(pL1->exp+pL2->exp>k) pL1=pL1->next;

     else pL2=pL2->next;

 } 

 if(quot!=0.0){

  u=new |tem(quot,k);

  u->next=list;list=u;}

 }

 reverseList(:);L2.reverseList():

 }

 void main()

 { ListL1,L2,L;

  cout<<"创建第一个多项式链表\n";L1.createList();

  cout<<"创建第二个多项式链表\n";L2.createList();

  L.multiplyList(L1,L2);

 }

【说明】

 下面是一个Applet程序,其功能是根据给出的小时,分钟和秒数计算相等的秒数,即将1分钟化为60秒,依此类推。要求建立一个时间类,时间参数均作为类的成员变量,并且给出换算时间的方法,也作为这个类的成员函数,可以供外部对象进行调用。同时还需要在输出窗口中显示换算结果,并且将结果写到out3_3.txt文件中,本题给出确定的时间为4小时23分47秒,要求换算成以秒做单位的时间。

 程序运行结果如图11所示。

 

 import java.io.*;

 import java.awt.*;

 impOrt java.applet.*;

 /*

  <applet code=ex7_7.class width=800 height=400>

  </applet>

 */

 public class ex7_7 extends APPlet{

  public void paint (Graphics g){

  int nSum;

  class myTime7_7{

   public int h;

   public int m;

   public int s;

   public int out;

   public int caculateSecond(){

      (1);

   return out;

   }

  }

  myTime7_7 objTime7_7=new myTime7_7();

  ObjTime7_7. h=4;

  ObjTime7_7.m=23;

  ObjTime7_7.s=47;

  nSum=objTime7_7.  (2);

  g.drawString("时:"+objTime7_7.h,20,30);

  g.drawString("分:"+objTime7_7.m,20,50);

  g.drawString("秒:"+objTime7_7.s,20,70);

  g.drawString((3));

  try{

  FileOutputStream fos7_7=new FileOutputStream("out7_7.txt");

  BufferedOutputStream bos7_7=new BufferedOutputStream(fos7_7,1024);

  PrintStream ps7_7=new PrintStream(bos7_7,false);

  SyStem.setOut(ps7_7);

  System.out.println((4));

  ps7_7. close();

  }catch(|OException ioe){

   (5) (ioe);

  }

  }

 }

 ex7_7.htm|

 <HTML>

  <HEAD>

   <TITLE>ex7_7</TITLE>

  </HEAD>

  <BODY>

   <appletcode="ex7_7.class"width=800 height=400>

   </applet>

  </BODY>

 </HTML>

阅读下列程序说明和C代码,将应填入(n)处。

  【程序5说明】

 著名的四色定理指出任何平面区域图均可用四种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过四种颜色的着色方案。

 程序中用1~4表示四种颜色。要着色的N个区域用0~N-1编号,区域相邻关系用 adj[][]矩阵表示,矩阵的i行j列的元素为1,表示区域i与区域j相邻;矩阵的i行j列的元素为0,表示区域i与区域j不相邻。数组color[]用来存储着色结果,color[i]的值为区域i所着颜色。

 【程序5】

 #include<stdio.h>

 #define N 10

 void output(int color[])/*输出一种着色方案*/

 { int i;

  for(i=0;i<N;i++)

   printf("%4d",color[i]);

  printf("\n");

 }

 int back (int * ip,int color[])/*回溯*/

 { int c=4;

   while(c==4){

   if(*ip<=0)return 0;

   --(*ip);

   c=(1);

   color[*ip]=-1;

   }

   return c;

 }

 /*检查区域i,对c种颜色的可用性*/

 int colorOk(int i,int c,int [][N],int color[]}

 { int j;

  for(j=0;j<i;j++)

  if((2))

   return 0;

 return 1;

 }

 /*为区域i选一种可着的颜色*/

 int select (int i,int c,int adj[][N],int color[])

 { int k;

  for(k=c;k<=4;k++)

  if(colorOK((3)))

   return k;

  return 0;

 }

 int coloring(int adj[][N])/*寻找各种着色方案*/

 { int color[N],i,c,cnt;

  for(i=0;i<N;i++)color[i] =-1;

  i=c=0;cnt=0;

  while(1){

   if((c=(4))==0){

    c=back(&i,color);

    if(c==0)return cnt;

   }else{(5);i++;

    if(i==N){

     output(color);

     ++cnt;

     c=back(&i,color);

    }else c=0;

   }

  }

 }

  void main()

  { int adj[N][N]=

       {{0,1,0,1,1,1,1,1,1,1},

        {1,0,1,1,0,1,1,1,1,0},

        {0,1,0,1,0,1,1,0,1,1},

        {1,1,1,0,1,1,0,0,1,1},

        {1,0,0,1,0,1,0,0,0,0},

        {1,1,1,1,1,0,1,0,0,1},

        {1,1,1,0,0,1,0,0,1,0},

        {1,1,0,0,0,0,0,0,1,1},

        {1,1,1,1,0,0,1,1,0,1},

        {1,0,1,1,0,1,0,1,1,0}

       };

  printf("共有%d组解.\n",coloring(adj));

 }

阅读下列函数说明,将应填入(n)处的字句写在对应栏内。

【函数1说明】

 函数compare(SqList A, SqList B)的功能是:设A=(al,…,am)和B=(b1,…,bn)均为顺序表,“比较”,两个顺序表A和B的大小。设A’ 和B’ 分别为A和B中除去最大共同前缀后的子表(例如,A=(y,x,x,z,x,z),B=(y,x,x,2,y,x,x,z),则两者中最大的共同前缀为 (y,x,x,z),在两表中除去最大共同前缀后的子表分别为A'=(x,z)和B'=(y,x,x,z))。若 A'=B'=空表,则A=B;若A'=空表,而B'≠空表,或者两者均不为空表,且A'的首元小于 B'首元,则A<B:否则A>B。

 提示:算法的基本思想为:若相等,则j+1,之后继续比较后继元素;否则即可得出比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。

 【函数1】

int compare ( SqListA, SqList B)

{

//若A<B,则返回-1;若A=B,则返回0:若A>B,则返回1

j =0;

while(i< (1) &&j<B. length)

if(A. elem[j] < B. elem[j] )return(-1)

else if(A. elem[j] > B. elem[j] )return(1);

else (2);

if(A. length == B. length) return(0);

else if(A. length<B. length)return(-1);

else return(1)

}//compare

//函数1的时间复杂度是(3)。

  【函数2说明】

 函数exchanse_L(SLnk&L,int m)的功能是:用尽可能少的辅助空间将单链表中前m个结点和后n个结点的互换。即将单链表(a1、a2…,am,b1,b2,…,bn)改变成(b1,b2,…,bn,a1, a2,…,am,)。

【函数2】

void exchange_L(SLink &L, int m)

{

if((4)&&L->next)     //链表不空且Lm!=0

{

 P = L->next; k=1;

 while( k < m&&p)      //查找am,所在结点

 {

   P=(5);++k;

  }

 if( (6) &&p->next)   //n! =0 时才需要修改指针

   ha = L -> next;      //以指针ha记a1结点的位置

   L -> next = p -> next;  //将B1结点链接在头结点之后

   p -> next = NULL;     //设am的后继为空

   q=(7);        //令q指向b1结点

   while(q->next)q =(8); //查找bn结点

   q->>next=(9);     //将a1结点链接到bn结点之后

  }

}

}

//函数2的时间复杂度是(10)。

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服