使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。 (1)funl(intn)求出n的阶乘,必须使用递归调用。 (2)fun2(intn)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。 注意:不能修改函数的其他部分。 试题程序: include<iostream.h> //必须使用递归 intfunl(intn) { } //不能使用递归 intfun2(intn) { } voidmain { inti; cout<<"请输入一个整数:"<<endl; cin>>i; cout<<"输入数字的阶乘是:"<<funl(i)<<endl; cout<<"输入数字的阶乘是:"<<fun2(i)<<endl; return; }
查看答案
请补充函数proc,该函数的功能是按条件删除一个字符串指定字符一半的数目,具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不删除,如果其数目是偶数,则删除原串后半部分的指定字符。其中,str指向原字符串,删除后的字符串存放在b所指的数组中,c中存放指定的字符。例如,当str输入“abcabcabcab”,c=b时,b的输出为“abcabcaca”;如果str的输入为“abcabcabca”,则b的输出为“abcabcabca”。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅程函数prOC的横线上填入所编写的若干表达式或语句。 试题程序: include<stdlib.h> include<stdio.h> include<conio.h> define M 80 void proc(char str[],char b[],char c) { int i=0,j=0; int n=0: int m=0: while(str[i]!=\0) { if(str[i]==c) n++: i++: } 【1】 ; if(n%2) { while(str[j]!=\0 ) { b[j]=str[j]; j++; } b[j]=\0; } else { while(str[i]!=\0 ) { b[j++]=str[i]; if(str[i]==c) m++: if((m>n/2)&&(str[i]==c)) 【2】 ; i++: } 【3】 ; } } void main { char str[M],b[M]; char C; system("CLS"); printf("Enter the strin9:\n"); gets(str); printf("Enter the character of the string deleted:"): scanf("%C",&c); proc(str,b,c); printf("The new string is:%s\n",b); }
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为 100 37 32 注意:错误的语句在//******error******的下面,修改该语句即可。 试题程序: include<iostream.h> //******error****** voidmain { //******error****** intm=0142: //******error****** intn=0X27: intq=32; cout<<m<<endl; cout<<n<<endl; cout<<q<<endl; return; }
下列给定程序中,函数proc的功能是:根据输入的:个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回l;若不能,则返回0。 例如,输入3个边长为3,4,5,实际输入时,数与数之间以Enter键分隔而不是逗号。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<stdio.h> include<math.h> int proc(int a,int b,int c) { if(a+b>c&&b-c>a&&a+c>b) { if(a==b&&b==c) //****found**** return 1; else if(a==b|| b==C||a==c) return 2; //****found**** else return 3; } else return 0; } void main { int a,b,c,shape; printf("\nInput a,b,c:"); scanf("%d%d%d",&a,&b,&c); printf("\na=%d.b=%d,c=%d\n",a,b,c); shape=proc(a,b.c): printf("\n\nThe shape:%d\n",shape); }
试题五
阅读下列问题,回答问题1-3,并将解答填入答题纸的对应栏内。
【说明】
A系统集成公司有员工50多名,其中技术部开发人员有30多人,公司采用矩阵式的组织结构。公司的主营业务是开发企业信息化建设方面的项目,业务较为繁忙,一般有10多个项目在同时进行,由于技术人员有限,为保证各个项目的进展,人员在项目间的兼职与交叉很严重。一个技术开发人员在M项目上工作2天后,很可能转入Y项目工作,过了3天,在转会M项目工作。项目的文档一般采用各字的命名方式进行管理,客户提出的修改也各自负责,在技术开发人员的本地机上进行了开发。当技术人员重新回到原项目时,他不得不花大量时间去熟悉原来的工作,找出原来的文档与程序等,还要了解项目组其他人的工作进展,向相关人员索求需要的开发成果。当一个项目进行到提交期限时,不得不花费大量的时间找出相匹配版本的相应成果,集成为符合客户要求的可交付的系统。
【问题1】
针对本题案例中的情况,从软件配置管理的角度,分析出现这种问题的原因。
【问题2】
请指出配置管理包含哪几方面的活动。
【问题3】
针对文档管理与软件配置管理的要求,在(1)~(5)中填写恰当内容。
软件项目文档从项目周期角度可分为:开发文档、(1)、管理文档。