2011 第二次上机练习参考答案
2011春江苏省二级C上机考试第2套(暂缺部分答案)
2011春江苏省二级C上机考试第2套(暂缺部分答案)(总分:40.00,做题时间:70分钟)一、改错题(16分)(总题数:1,分数:16.00)1.【程序功能】统计一个字符串中包含的字母串个数并找出其中最长的字母串。
所谓字母串是指一个连续的字母序列(不区分大小写),字母串之间用非字母字符分隔。
函数count的功能是统计p指向的字符串中包含的字母串个数,找出的最长字母串存放在pmax指向的数组中,函数返回字母串的个数。
【测试数据与运行结果】测试数据:you are teaeher234too. 屏幕输出:a=you are teacher234too. number is 4 max string is:teacher 【含有错误的源程序】#include #include #include int count(char p[],char pmax[]) { int j=0,k,m=0; char temp[100]; while(*p) { while((!isalpha(*p)) && *p) p++; k=0; if(*p!='/0') m++; while(isalpha(*p)) temp[k++]=*p++; temp[k]="/0"; if(k(分数:16.00)__________________________________________________________________________________________ 正确答案:(改错1:将第13行 "temp[0]="/0" 修改为 temp[0]='/0' 改错2:将第 14行 if(kj) 改错3:将第16行 pmax=temp,修改为 strcpy(pmax,temp); 改错4:将第24行i=count(a[],max[])修改为i=count(a,max); )解析:二、编程题(24分)(总题数:1,分数:24.00)2.【程序功能】将一个二维数组中的若干行数据按要求插入到另一个二维数组中。
c二级题目
2011年计算机二级C语言上机操作题及答案(99)来源:考试大【相信自己,掌握未来,考试大值得信赖!】 2011年7月27日第一题请补充fun函数的功能是:把字符下标能被2或3整除的字符串str中删除,把剩余的字符重新保存在字符串str中。
字符串str从键盘输入,其长度作为参数传入fun函数。
例如,输入“abcdefghijk”,输出“bfh”。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
#include#define N 80void fun(char s[], int n){int i, k;___1___;for (i=0; i{s[k++] = s[i];if ((i%2==0) ___2___ (i%3==0))k--;}___3___;}main(){int i = 0, strlen = 0;char str[N];printf("\nInput a string:\n");gets(str);while (str[i] != '\0'){strlen++;i++;}fun(str, strlen);printf("\n********* display string *********\n");puts(str);}答案:第1处填空:k=0;第2处填空:||第3处填空:s[k]=’\0’或s[k]=0第二题下列给定程序中,函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回。
例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。
请改正函数fun中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includeint fun(unsigned n, int *zero){int count = 0, max = 0, t;do{t = n ;/********found********/if (t = 0)count++;if (max < t)max = t;n = n/10;} while (n);/********found********/zero = count;return max;}main(){unsigned n;int zero, max;printf("\nInput n(unsigned): ");scanf("%d", &n);max = fun(n, &zero);printf("\nThe result: max=%d zero=%d\n", max, zero);}答案:第1处:if(t=0)应改为if(t==0)第2处:zero=count; 应改为*zero=count;第三题请编写函数fun,其功能是:计算并输出例如,若主函数从键盘给n输入20后,则输出为s=534.188884。
2011年计算机等级考试二级C语言上机题库(含答案)
重要说明:本题库为从题中一题一题复制出来工作量大,而且有许多表达式无法在word中快速表示出来(这样会加大工作量)故而省略,或者表达错位,有的地方可能或者肯定会有错,我相信准备参加C语言二级考试的同学应当能够对照参考答案看出来,这是2011年最新版最完整考试题库,相信大家一定都能通过!第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。
例如,给n输入5,则输出120.000000。
double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。
long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==‘-‗){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}第二套1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
2011国家电网公司职称计算机水平考试上机试卷2
国家电网公司职称计算机水平考试上机试卷(二)---------------------------------------------------------------------------------------------------------------------- 单位:________________________ 姓名:______________ 准考证号:_________________第一题 Word操作题(30分)按下列要求操作:(1)创建新文档、录入以下文字内容,并以KS_姓名.DOC为名保存文档(说明:文件名KS_姓名.DOC中的姓名为考生的真实姓名)。
分析指出,100万千瓦的装机目标意味着未来5年光热发电市场的规模可达150亿元。
尽管“体量”不大,但由于光热发电相较于光伏在技术、发电效率和全球市场形势等方面存在明显的优势,未来5年光热发电的市场潜力或超预期,目前市场上逐渐开始涉足这一领域的公司特别是设备制造商将迎来利好。
在即将发布的《可再生能源发展“十二五”规划》中,初步拟定的四个重点光热发电试点地区是鄂尔多斯高地沿黄河平坦沙漠、甘肃河西走廊平坦沙漠、新疆吐鲁番盆地、塔里木盆地和西藏拉萨等。
——信息来源:英大网(2)设置纸张大小为B5纸、纵向;上、下页边距为2.2厘米、左、右页边距为2厘米;页眉距边界1.5厘米、页脚距边界0.9厘米。
(3)设置正文文字字体为仿宋体_GB2312、常规、小四号、青色;两端对齐、每段首行缩进2字符、行间距(固定值)为25磅。
(4)将“文档2.DOC”文档(文档2.DOC文件在素材2011文件夹中)插入到当前文档的第一自然段前作为第一自然段。
并按第(3)题的要求,设置新插入段落的字符格式及段落格式。
(5)插入竖排文本框,在文本框中输入“「十二五」光热发电装机百万千瓦2020年商用”(不包括双引号);字体为黑体、二号、橙色、阳文效果、居中对齐;设置文本框格式:填充效果为预设-麦浪滚滚、底纹样式为水平、无框线;文本框高度为6.17厘米、高度为3.81厘米;四周型、并将文本框拖动到文档左上角位置(如样张所示)。
2011年国家计算机二级c语言等级考试上机题库100题(含答案)
2011年全国计算机二级C语言上机题题库(超值100题)1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0)k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
2011年9月计算机等级考试《二级Visual FoxPro程序设计》笔试真题与上机真题及答案
该系统总体结构图的深度是( ) 。 A ) 7 B ) 6 C ) 3 D ) 2
( 6 ) 程序调试的任务是( ) 。 A ) 设计测试用例 C ) 发现程序中的错误 B ) 验证程序的正确性 D ) 诊断和改正程序中的错误
2 0 1 1年 9月全国计算机等级考试二级 V i s u a l F o x P r o 第 1 页( 共1 5页)
1 3 ) 在数据库中建立索引的目的是( ) 。 ( A ) 节省存储空间 C ) 提高查询和更新速度 B ) 提高查询速度 D ) 提高更新速度
1 4 ) 假设变量 a 的内容是“ 计算机软件工程师” , 变量 b 的内容是“ 数据库管理员” , 表达式的结果为“ 数据库工程 ( 师” 的是( ) 。 A ) l e f t ( b , 6 )- r i g h t ( a , 6 ) C ) A和 B都是 B ) s u b s t r ( b , 1 , 3 )- s u b s t r ( a , 6 , 3 ) D ) A和 B都不是
B ) 所有 S Q L命令对表的所有操作都不需使用 U S E命令先打开表 C ) 部分 S Q L命令对表的所有操作都不需使用 U S E命令先打开表 D ) 传统的 F o x P r o 命令对表的所有操作都不需使用 U S E命令先打开表 ( 2 0 ) 在V i s u a l F o x P r o 中, 如果希望跳出 S C A N …E N D S C A N循环体外执行 E N D S C A N后面的语句, 应使用( ) 。 A ) L O O P语句 C ) B R E A K语句 B ) E X I T语句 D ) R E T U R N语句
1 5 ) S Q L查询命令的结构是 S E L E C T 爥F R O M爥WH E R E 爥G R O U PB Y 爥H A V I N G 爥O R D E RB Y 爥, 其中指定查询条 ( 件的短语是( ) 。 A ) S E L E C T B ) F R O M C ) WH E R E D ) O R D E RB Y
2011年9月全国计算机等级考试二级C语言上机题库(全).doc()
第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。
2011全国计算机等级考试二级试题及答案大全
2011年3月全国计算机等级考试二级笔试试卷(考试时间90分钟,满分100分)一、选择题(每题2分共70分)(1)下列关于栈叙述正确的是A) 栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C) 用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A) 系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C) m:1联系D) m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类T实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)在建立数据库表时给该表指定了主索引,该索引实现了数据完整性中的A)参照完整性B)实体完整性C)域完整性D)用户定义完整性(12)执行如下命令的输出结果是?15%4,15%-4A)3 -1B)3 3C)1 1D)1 -1(13)在数据库表中,要求指定字段或表达式不出现重复值,应该建立的索引是A)惟一索引B)惟一索引和候选索引C)惟一索引和主索引D)主索引和候选索引(14)给student表增加一个“平均戍绩”字段(数值型,总宽度6} 2位小数)的SQL命令是A)ALTER TABLE studeni ADD平均成绩N(b,2)B)ALTER TABLE student ADD平均成绩D(6,2)C)ALTER TABLE student ADD平均成绩E(6,2)D)ALTER TABLE student ADD平均成绩Y(6,2)(15)在Visual FoxPro中,执行SQL的DELETE命令和传统的FoxPro DELETE命令都可以删除数据库表中的记录,下面正确的描述是A)SQL的DELETE命令删除数据库表中的记录之前,不需要先用USE命令打开表B)SQL的DELETE命令和传统的FoxPro DELETE命令删除数据库表中的记录之前,都需要先用命令USE打开表C)SQL的DELETE命令可以物理地删除数据库表中的记录,而传统的FoxPro DELETE 命令只能逻辑删除数据库表中的记录D)传统的FoxPro DELETE命令还可以删除其它工作区中打开的数据库表中的记录(16)在Visual FoxPro中,如果希望跳出SCAN…ENDSCAN循环语句、执行ENDSCAN 后面的语句,应使用A)LOOP语句B)EXIT语句C)BREAK语句D)RETURN语句(17)在Visual FoxPro中,“表”通常是指A)表单B)报表C)关系数据库中的关系D)以上都不对(18)删除student表的“平均成绩”字段的正确SQL命令是A)DELETE TABLE student DELETE COLUMN平均成绩B)ALTER TABLE student DELETE COLUMN平均成绩C)ALTER TABLE student DROP COLUMN平均成绩D)DELETE TABLE student DROP COLUMN平均成绩(19)在Visual FoxPro中,关于视图的正确描述是A)视图也称作窗口B)视图是一个预先定义好的SQL SELECT语句文件C)视图是一种用SQL SELECT语句定义的虚拟表D)视图是一个存储数据的特殊表(20)从student表删除年龄大于30的记录的正确SQL命令是A)DELETE FOR年龄>30B)DELETE FROM student WHERE年龄>30C)DEL ETE student FOP年龄>30D)DELETE student WF IERE年龄>30(21)在Vaual FoxPro中,使用LOCATL FOR }expL>命令按条件查找记录,当查找到满足条件的第一条记录后,如果还需要查找下一条满足条件的记录,应该A)再次使用LOCATE命令重新查询B)使用SKIP命令C)使用CONTINUE命令D)使用GO命令(22)为了在报表中打印当前时间,应该插入的控件是A)文本框控件B)表达式C)标签控件D)域控件(23)在Visual FoxPro中,假设student表中有40条记录,执行下面的命令后,屏幕显示的结果是?RECCOUNT()A)0B)1C)40D)出错(24)向student表插入一条新记录的正确SQL语句是A)APPEND INTO student V ALUES(’0401’,’王芳’,’女’,18)B)APPEND student V ALUES(’0401’,’王芳’,’女’,18):C)INSERT INTO student V ALUES(’0401’,’王芳’,’女’,18)D)INSERT student V ALUES(’0401’,’王芳’,’女’,18)(25)在一个空的表单中添加一个选项按钮组控件,该控件可能的默认名称是A)Optiongroup 1B)ChecklC)SpinnerlD)Listl(26)恢复系统默认菜单的命令是A)SET MENU TO DEFAULTB)SET SYSMENU TO DEFAULTC)SET SYSTEM MENU TO DEFAULTD)SET SYSTEM TO DEFAULT(27)在Visual F’oxPro中,用于设置表单标题的属性是A)TextB)TitleC)LableD)Caption(28)消除SQL SELECT查询结果中的重复记录,可采取的方法是A)通过指定主关键字B)通过指定惟一索引C)使用DISTINCT短语D)使用UNIQUE短语(29)在设计界面时,为提供多选功能,通常使用的控件是A)选项按钮组B)一组复选框C)编辑框D)命令按钮组(30)为了使表单界面中的控件不可用,需将控件的某个属性设置为假,该属性是A)DefaultB)EnabledC)UseD)Enuse第(31)-(35)题使用如下三个数据库表:学生表:student(学号,姓名,性别,出生日期,院系)课程表:course(课程号,课程名,学时)选课成绩表:score(学号,课程号,成绩)其中出生日期的数据类型为日期型,学时和成绩为数值型,其它均为字符型。
2011年9月计算机二级题库答案
参考答案(最好单独再打印一张答案以备用,学海狗不要偷看)一、程序填空题1、1)std[i].year(2)std[i](3)n2、(1)[N](2)i(3)i+13、(1)j++(2)s[i]=t1[i](3)j4、(1)[N](2)t[i][j](3)t[j][i]5、(1)t=i(2)i(3)06、(1)tt(2)tt.score[i](3)std7、(1)sum=0(2)t[i][i](3)18、(1)0(2)x[i]/N(3)j++9、(1)x[i]/N(2)j++(3)i++10、(1)s/N(2)j++(3)-111、(1)1(2)j++(3)j12、(1)M(2)<(3)k13、(1)b[k](2)N/2(3)<14、(1)1(2)i(3)a[p+i]15、(1)FILE *(2)fp(3)ch16、(1)a[0][i](2)<(3)x,y17、(1)s[i](2)'9'(3)*t=n18、(1)a[i](2)a[j](3)a[j]19、(1)j(2)k(3)p20、(1)i++(2)m(3)m21、(1)a[i]%2(2)a[j](3)j22、(1)0(2)||(3)123、(1)'0'(2)s++(3)ctod(a)+ctod(b)24、(1)1(2)s[k](3)c25、(1)ss[i](2)n+j(3)126、(1)N(2)N-1(3)027、(1)double(2)f1(3)f228、(1)pb(2)p->data(3)p->next29、(1)i+1(2)k=j(3)t30、(1)a[i](2)m%10(3)m/1031、(1)&&(2)0(3)s[j]32、(1)i%5(2)\n(3)a[i]33、(1)N(2)break(3)n34、(1)char(2)ch<='9'(3)'0'35、(1)[N](2)len(3)*n=len36、(1)k(2)len(3)ss[i][j]37、(1)*std(2)std[i].age(3)38、(1)STU(2)std[i].num(3)std[i]39、(1)0(2)j--(3)j40、(1)t[][N](2)i=0;i<n(3)s41、(1)0(2)0(3)c42、(1)filename(2)fp(3)fp43、(1)"rb"(2)>(3)fwrite44、(1)*std(2)PERSON(3)std45、(1)*av(2)i(3)x[j]46、(1)STU(2)score[i](3)&std47、(1)0(2)t(3)i+t48、(1)n/2(2)i(3)a[n-i-1]49、(1)*a(2)2(3)i+150、(1)FILE *(2)fclose(fp)(3)fp二、程序修改题1、(1)int t[N] ,i, num=0;(2)t[num++]=b[i];(3)for(i=0; i<num; i++)2、(1)aa[i]=m%k;(2)printf("%d",aa[i-1]);3、(1)for(j=i+1;j<6;j++)(2)*(pstr+i)=*(pstr+j);4、(1)#define FU(m,n) ((m)/(n))(2)return (value);5、(1)while((fabs(t))>=num)(2)t=s/n;6、(1)m=i;(2)if(a[k]>a[m]) m=k;7、(1)double r;(2)while(fabs(m-n)>0.001)8、(1)double fun(int m)(2)for(i=100;i<=m;i~1+=0)9、(1)num[k]=0;(2)switch(*s)10、(1)#include "stdio.h"(2)upfst(char *p)11、(1)t=a;a=b;b=t;(2)return(b);12、(1)if(('a'<=tt[i])&&(tt[i]<='z'))(2)tt[i]-=32;13、(1)IsPrime(int n)(2)if(!(n%i))14、(1)float k;(2)if(*c>*a)15、(1)s[j++]=s[i];(2)s[j]=0;16、(1)void fun(int *x,int *y)(2)t=*x;*x=*y;*y=t;17、(1)t=*x;*x=y;(2)return t;18、(1)switch(g)(2)case 1: return 1; case 2:return 1;19、(1)while(i<j)(2)if(*a)20、(1)while((2<=high) && (n<10))(2)yes=0; break;21、(1)fun (int n)(2)if(n==1)22、(1)t-=1.0/i;(2)return t;23、(1)void fun ( char *s, int *a, int *b )(2)++(*a);(3)++(*b);24、(1)long s=0,t=0;(2)t=t/10;25、(1)if(*p==' ')(2)*(p-1)=toupper(*(p-1));26、(1)s=s+(n+1.)/n;(2)return t;27、(1)char *fun(char *s,char *t)(2)ss++;(3)tt++;28、(1)int i, one=0, zero=0;(2)switch( s[i] )(3)case 0:zero++;break;29、(1)void fun(char *str, char ch )(2)if(*str!=ch)(3)str[1] = 0;30、(1)b[i] = a[i][0];(2)for (j=1; j<=N-1; j++)(3)if ( b[i] > a[i][j] )31、(1)for(i=2;i<=m;i++)(2)y+=1.0/i/i;32、(1)return t;(2)for(i=0;i<N;i++) t[i]=x[i];(3)x[i+1]=findmid(a,b,c);33、(1)sum=0;(2)scanf("%d",&a[i][j]);34、(1)b[k]=*p;(2)b[k]=' ';k++;35、(1)t+=1./i;(2)return t;36、(1)result*=(double)n--;(2)return result;37、(1)void fun(int *a,int *b)(2)t=*b;*b=*a;*a=t;38、(1)r++;p++;(2)if(*r==0)39、(1)double f(double x)(2)return s;40、(1)fun(int a[],int m)(2)else if(m>a[mid])41、(1)double sum=0.;(2)sum /= c;42、(1)p=(NODE *)malloc(sizeof(NODE));(2)return h;43、(1)p=s;(2)while(*p++);44、(1)int k,q,i;(2)pt[i]=str[k][i];45、(1)float fun(int n)(2)for (i=1; i<n; i++)46、(1)if(k>0)(2)else if(k==0)47、(1)b[i]=0;(2)b[a[i] - 'a']++;(3)if (b[max] < b[i])48、(1)n= *p-'0';(2)n=n*8+*p-'0';49、(1)sum=0;(2)if((i+1)%5==0)50、(1)t=(STU *)calloc(sizeof(STU),m);(2)t[k]=b[j];三、程序编写题1、void fun( STU a[], STU *s ){int i,j=0,max;max = a[0].s;for(i=1;i<N;i++){if(max<a[i].s){max =a[i].s;*s=a[i];}}}2、len=strlen(a[i]) ;if(maxlen<len)k=i , maxlen=len ;3、int count=0 ;while(*ss != '\0'){if(*ss = = c)count++ ;ss++ ;}return count;4、int i,len=0;while(a[len] == '*')len++;i=len;while(a[i]!= '\0'){a[i-len]=a[i];i++;}5、a[n]=0 ;strcpy(b , a) ;strcat(b , a + strlen(a)+1);6、unsigned num=w,n=1;while(num!=0){num=num/10;n=n*10;}n=n/10;return w%n;7、char *r,*q;for(q=p;q>h;q--){if(*q == '*'){r=q;while(*r!='\0'){*r=*(r+1);r++;}}}8、int i;*s=a[0];for(i=1;i < N;i++){if((*s).s > a[i].s )*s=a[i];}9、int sum=0,i;for(i=0;i<N;i++)sum=sum+a[0][i]+a[M-1][i];for(i=1;i<M-1;i++)sum=sum+a[i][0]+a[i][N-1];return sum;10、int sum=0,i;for(i=0;i<N;i++)sum=sum+w[0][i]+w[N-1][i];for(i=1;i<N-1;i++)sum=sum+w[i][0]+w[i][N-1];return (double)sum/(4*N-4);11、void fun( char *a ){char *t;while(*a){if(*a=='*'){t=a-1;while(*a){ *(a) = *(a+1); a++; }*a='\0';a=t;}a++;}}12、void fun( int m, int *k, int xx[] ){int i,j,num=0;for(i=2;i<m;i++){for(j=2;j<i;j++){if(i%j==0){xx[num++]= i;break;}}}*k=num;}13、int count=0;while(*s!='\0'){if(*s>=48 && *s<=57)count++;s++;}return count;14、int fun( STREC *a, STREC *b ){ int i,num=0,max;max = a[0].s;for(i=1;i<N;i++){if(max<a[i].s)max =a[i].s;}for(i=0;i<N;i++){if(max==a[i].s){b[num]=a[i];num++;}}return num;}15、void fun(char s[][N], char *b){int i,j,n=0;for(i=0; i < N;i++) /* 请填写相应语句完成其功能*/{for(j=0;j< M;j++) b[n++]=s[j][i];}b[n]='\0';}16、int fun(int lim, int aa[MAX]){/* 以下代码仅供参考*/int i,j,k=0;/* 其中变量k用于统计素数个数*/for(i=2;i<=lim;i++){/* 以下找出小于或等于lim的素数存入aa数组中并统计素数个数*/ for(j=2;j<i;j++)if(i%j==0)break;if(i==j)aa[k++]=i;}return k;}17、void fun (int *a, int *n){int i=1;*n=0;while(i<1000){ if((i%7==0||i%11==0)&&(i%77!=0))a[(*n)++]=i;i++;}}18、void fun(STREC *a){int i;float sum=0;for(i=0;i<N;i++){sum+=a->s[i];}a->ave = sum/N;}19、void fun(char *s, char t[]){int i,j=0,len;len = strlen(s);for(i=0;i<len;i++){if(i%2==0&&s[i]%2!=0) ;else{t[j]=s[i];j++;}}t[j]='\0';}20、double fun(){double x1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6);return x1;}21、void fun( char *a,int n ){int num=0;char *p=a;while(*p)p++;p=p-1;while(*p=='*'){num++;p--;}if(num>n){p=p+n+1;*p=0;}}22、void fun(char *str){int i,j=0,len=0;char *p=str;while(*p){len++;p++;}p=str;for(i=0;i<len;i++){ if(*p!=' '){str[j++]=*p;}p++;}str[j]=0;}23、float fun ( float h ){return (int)(100*h+0.5)/100.0;}24、void fun(char *tt, int pp[]){int i;for(i=0;i<26;i++)pp[i]=0;while( *tt){pp[*tt-'a']++;tt++;}}25、void fun(char *s,int num){int i,j;char t;for(i=1;i<num-2;i++)for(j=i+1;j<num-1;j++)if(s[i]>s[j]){t=s[i];s[i]=s[j];s[j]=t;}}26、int fun( int t){int f1=0,f2=1,fn;fn=f1+f2;while(fn<=t){ f1=f2;f2=fn;fn=f1+f2;}return fn;}27、void fun(char *w, int m) /* 可调用fun1函数左移字符*/ {char a[N];int i;for(i=0;i<m;i++) a[i]=w[i];while(w[i]) { w[i-m]=w[i]; i++;}i--;m--;for(;m>=0;m--,i--) w[i]=a[m];}28、void fun( char *a , char *s){while(*a = *s){a++;s++;}}29、void fun ( char *s ){ nt i,j,k=0;char t;while(s[k]!='\0') k++;for(i=0,j=k-1;i<k/2;i++,j--){t=s[i];s[i]=s[j];s[j]=t;}}30、double fun(double a[ ] , int n){double t,r,sum; int i,j; for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){ t=a[i];a[i]=a[j];a[j]=t;}sum=a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8];r=sum/8.0;return r;}31、int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=0;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=a[i][j]+a[j][i];32、int i; for(i=0;i<N;i++)if(s[i]==x)return i;return -1;33、int i,j,t;for(i=0;i<3;i++)for(j=0;j<i;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}34、float ave,sum=0.0;STREC *p;p=h->next;while(p){sum+=p->s;p=p->next;}ave=sum/N;return ave;35、int i,j=0;for(i=0;str[i+1]!=’\0’;i++)if(str[i]==substr[0]&&str[i+1]==substr[1])j++;return j;36、int i=0;char *p;p=s;while(*p){if (*p!=c){s[i]=*p;i++;}}s[i]=’\0’;37、int min;int i,j;for(i=0;i<N;i++){min=tt[0][i];for(j=0;j<M;j++){if(min>tt[j][i])min=tt[j][i];}pp[i]=min;}38、int i=0;for(;*s!=’\0’;s++)if(*s%2==1)t[i++]=*s;t[i]=’\0’;39、int i;double s=0.0;for(i=1;i<m;i++)s=s+log(i);return sqrt(s);40、char *t=a;for(;t<=p;t++) if(*t!=’*’) *(a++)=*t;for(;*t!=’\0’;t++) *(a++)=*t;*a=’\0’;41、double fun(int n){int i;float s=1.0, t=1.0;for(i=2;i<=n;i++){t=t+i;s=s+1/t;}return s;}42、int fun( char *s){int i=0,j=0,f=1;while(s[i]){if(s[i]<'a' || s[i]>'z'){if(f) j++;f=0;}elsef=1;i++;}43、void fun( int *a, int *b){int i,k;for(i=0;i<M;i++) b[i]=0;for(i=0;i<N;i++){ k=a[i]/10;if(k>=10) b[10]++;else b[k]++;}}44、void fun ( int a[][N] ){int i,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=0;}45、void fun ( int a[][N], int m ){int i,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i][j]*=m;}46、void fun ( int a[][N], int n ){int i,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=a[i][j]*n;}47、long fun( char *s ){int i,j;long int p;i=strlen(s);p=s[0]-48;for(j=1;j<i;j++)p=p*10+(s[j]-48);return p;}48、STREC fun( STREC *a, char *b ){STREC res;int i;for(i=0;i<N;i++){if(strcmp(a[i].num,b)==0){res=a[i];return res;}}strcpy(res.num,"");res.s=-1;return res;}49、double fun( STREC *a, STREC *b, int *n ) {int i,j;double ave,sum=0.0;*n=0;for(i=0;i<N;i++){sum+=a[i].s;}ave=sum/N;for(i=0,j=0;i<N;){if(a[i].s<=ave){b[j]=a[i];j++;(*n)++;}i++;}return ave;}50、int fun(int a[], int n){int i,j=0;for(i=1;i<n;i++){if(a[i]!=a[j]){j++;a[j]=a[i];}}return j+1;}。
国二VF华东理工捷成版上机真题与答案2011版
2011湖南省计算机等级考试二级试题及答案
C、计算机的可运行性 D、计算机的可扩充性
8、用于描述内存性能优劣的两个重要指标是( D )
A、存储容量和平均无故障工作时间 B、存储容量和平均修复时间
35、微型计算机存储系统中,PROM是( D )
A、可读写存储器 B、动态随机存取存储器
C、只读存储器 D、可编程只读存储器
36、微型计算机诞生于( D )
A、第一代计算机时期 B、第二代计算机时期
45、对待计算机软件正确的态度是( C )
A、计算机软件不需要维护
B、计算机软件只要能复制得到就不必购买
C、受法律保护的计算机软件不能随便复制
D、计算机软件不必有备份
46、通常说1.44MB软盘中1.44MB指的是( D )
A、厂家代号 B、商标号 C、磁盘编号 D、磁盘容量
C、中、小规模集成电路 D、微处理器集成电路
23、以平均修复时间(MTTR),用于描述计算机的( B )
A、可靠性 B、可维护性 C、性能价格比 D、以上答案都不对
24、速度快、分辨率高的打印机类型是( B )
A、非击打式 B、激光式 C、击打式 D、点阵式
A、计算机的运算速度
B、内存储器容量和存取周期
C、通道信息流量速率及输入输出设备的配置
D、计算机外形尺寸
34、不属于计算机数据处理的应用是( B )
A、管理信息系统 B、实时控制
C、办公自动化 D、决策支持系统
1、在进位计数制中,当某一位的值达到某个固定量时,就要向高位产生进位。这个固定量就是该种进位计数制的( D )
A、阶码 B、尾数 C、原码 D、基数
(完整word版)2011春江苏省二级VB上机1真题及答案
2011春江苏省二级VB上机1真题及答案江苏省二级Visual Basic上机试卷1(本试卷完成时间为70分钟)考试说明:1.改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考。
2.考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分。
3.程序代码书写应呈锯齿形。
一、改错题(14分)【题目】本程序的功能是:找出100~999之间的十进制数为升序数,且其对应的八进制数也是升序数的整数。
所谓升序数,是指该数的十位数字值大于个位数字值,百位数字值大于十位数字值。
Option ExplicitPrivate Sub CmdFind_Click()Dim n As Integer,s8 As StringFor n=100 To 999s8=d2Q(n)If sx(n) And sx(Val(s8)) ThenList1.AddItem n & "D==>" & s8 & "Q"End IfNext nEnd SubPrivate Function d2Q(n As Integer) As String Dim p As IntegerDop=n Mod 8d2Q=d2Q & CStr(P)n=n\8Loop Until n=0End FunctionPrivate Function sx(ByVal n As Integer)As Boolean Dim num() As Integer,k As Integer,t As Integer Dim i As Integert=Len(CStr(n))ReDim num(t)For k=1 To tnum(k)=Val(Mid(CStr(n),k,1))next kFor i=1 To UBound(num)-1If num(i)>=num(i+1) Then Exit ForNext isx=TrueEnd Function【要求】1.新建工程,输入上述代码,改正程序中的错误。
2011年计算机等级考试二级C语言上机题库(含答案)
认识实习报告9月初,我们先前往了山东威海滨田印刷机械有限公司进行认识实习。
此后我们又去了一家大型零件加工厂进行了参观。
通过这次的实习,我们了解到机械行业第一线的一些具体情况,了解了工业生产实施的具体过程,同时也对一些工厂的技术实施,管理方法有了一定的认识。
前往滨田印刷机械有限公司以后,我们在指导老师和工程师的带领下,分批开始了对该厂的参观。
这一切对我们而言陌生有新鲜。
开始,我们在一位严谨的工程师的带领下,去了零件加工厂了解了各类零件的加工。
其中参观了各种自动化得机床,我们还从一部分机床中看到了上学期我们金工实习那些机床的影子。
但给我最大的感触是整个车间里,国产的机床并不是很多。
整个过程纪律严明,一边参观零件的加工,一边聆听了工程师给予我们的讲解了解了整个工厂的第一道程序。
此后,我们前往了三间组装车间,参观了52系列,66系列和47系列三种印刷机的组装。
这次给我们介绍的是一位年轻的工程师,他详细的向我们介绍了这三种印刷机的一些知识。
我们也了解了刚知道这几个型号产生的疑惑,原来,47,52和66的意思是最大用纸尺寸的长。
其中47系列是单色印刷机,可用于印号码,打孔线和树脂凸版印刷。
使用的集中供油系统可以有效的防止因局部遗忘加油造成的零件磨损,延长零件的精度和使用寿命,杜绝润滑油浪费,保护环境卫生。
52系列性能较高,大都是以高级胶印机所具有的高耐久性、高精度的部件为基础,生产的高性能印刷机。
同时也是可适合文字、线条印刷,实地印刷等各种印刷需要。
另外通过添加多种备选装置,使机器升级到更高效率的印刷机。
到66系列时,工程师大哥向我们介绍的较为详细,它分为两款:WEIHAI HAMADA66-NP 实现精美平版印刷及号码印刷的高品质重型印刷机和WEIHAI HAMADA66 真正高品质的重型印刷机。
WEIHAI HAMADA66系列是以真正高质量印刷为目标而生产的大四开重型胶印机。
这款先进的机械拥有按扭式与触摸式键盘,所需操作全部集中在3处操作盘上。
2011年全国硕士研究生入学考试计算机统考试题参考答案
2011年全国硕士研究生入学考试计算机统考试题参考答案一、单项选择题:1~40小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
请在答题卡上将所选项的字母涂黑。
1.【答案】A2.【答案】B3.【答案】B4.【答案】C5.【答案】C6.【答案】D7.【答案】A8.【答案】C 9.【答案】B 10.【答案】A 11.【答案】B 12.【答案】D 13.【答案】A 14.【答案】B 15.【答案】D16.【答案】A 17.【答案】C 18.【答案】D 19.【答案】C 20.【答案】C 21.【答案】D 22.【答案】C 23.【答案】B24.【答案】A 25.【答案】D 26.【答案】B 27.【答案】D 28.【答案】D 29.【答案】A 30.【答案】B 31.【答案】B32.【答案】C 33.【答案】A 34.【答案】B 35.【答案】B 36.【答案】D 37.【答案】D 38.【答案】C 39.【答案】C40.【答案】B二、综合应用题:41~47小题,共70分。
请将答案写在答题纸指定位置上。
41.【答案解析】此题考察的知识点是图的存储以及关键路径求解的综合知识。
(1)由题可以画出待定上三角矩阵的结构图如下(图中“?”待定元素)可以看出,第一行至第五行主对角线上方的元素分别5、4、3、2、1个,由此可以画出压缩存储数组中的元素所属行的情况,如下图所示:46∞∞∞5∞∞∞43∞∞33第五行第一行第二行第三行第四行将个元素填入各行即得邻接矩阵:(2分)A=(2)根据第一步所得矩阵A容易做出有向带权图G,如下:(2分)123454654333(3)下图中粗线箭头所标识的4个活动组成G的关键路径(3分)123454654333由上图容易求得图的关键路径长度为:4+5+4+3=16。
42.【答案解析】此题考察的知识点是基本算法的灵活运用。
(1)算法的基本设计思想:(5分)1)比较笨的方法:将两升序序列归并排序,然后求其中位数,时间复杂度是O(n),空间复杂度O(n)。
2011年计算机二级C语言上机题库及答案
2011年计算机二级C语言上机题库及答案(一部分)一、填空题:给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#includevoid fun(char *s, char *p){int i, j, n, x, t;n=0;for(i=0; s[i]!='\0'; i++) n++;for(i=1; i< i="i+2)">/**********found**********/___1___;/**********found**********/for(j=___2___+2 ; jif(s[t]>s[j]) t=j;if(t!=i){x=s[i]; s[i]=s[t]; s[t]=x;}}for(i=1,j=0; i/**********found**********/p[j]=___3___;}main(){char s[80]="baawrskjghzlicda", p[50];printf("\nThe original string is : %s\n",s);fun(s,p);printf("\nThe result is : %s\n",p);}解题答案:/**********第一空**********/t=i;/**********第二空**********/for(j=i+2; j/**********第三空**********/p[j]=0;******************************************二、改错题:给定程序MODI1.C中函数fun 的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num )为止:π 1 1 1┄┄≈1 - ┄┄+ ┄┄- ┄┄+ ...4 35 7例如, 程序运行后, 输入0.0001, 则程序输出3.1414。
(完整word版)2011秋江苏计算机二级VB上机试题
2011秋(VB02)一、改错题(14分)【题目】本程序的功能是从一个包含有数字的字符串中,将连续出现的数字提取出来作为一个整数,在把这些整数转换为8位二进制数。
(输入的字符串的末尾不得是数字,且连续出现的数字组成的整数不超过255) Option ExplicitPrivate Sub Command1_Click()Dim sn() As Integer,i As Integer,st As StringDim p As String * 1, q As String,k As Integerst = Text1:k = 1Dop = Mid(st,k,1)If p 〈= ”9” And p 〉= "0" Then q = q & pElseIf q 〈〉"” Theni = i + 1ReDim sn(i)sn(i)= Val(q)q = ””End Ifk = k + 1Loop Until k 〉Len(st)For i = 1 To UBound(sn)st = sn(i) &”-—" & Right(”0000000" &d2b(sn(i)),8)List1.AddItem stNext iEnd SubPrivate Function d2b(n As Integer)As StringDim p As StringDop = n Mod 2d2b= d2b & pn = n \ 2Loop Until n = 0End Function二、编程题(26分)【题目】编写程序,找出给定数据范围内所有的盈余数.所谓盈余数是指除自身以外的因子之和大于其自身的整数。
例如:12的因子有1、2、3、4、6,1+2+3+4+6=16〉12,所以12就是一个盈余数。
【编程要求】1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2.运行程序,在“A"文本框中输入数据范围的起始值,在“B:”文本框中输入数据范围的结束值,按“查找”按钮,则将数据范围内的盈余数按参考界面中的格式输出到列表框中;按“清除"按钮,将文本框和列表框清空,焦点置于“A:”文本框上;按“结束”按钮,结束程序运行;3.程序中应至少定义一个通用过程,用于求一个整数的因子及所有因子之和,或用于判断一个整数是否为盈余数。
2011年3月26日全国计算机等级考试二级ACCESS 上机考试样题及答案 (41)
1.基本操作题(1)在考生文件夹下“samp1.mdb”数据库中建立表“tTeacher”,表结构如下:┌─────┬─────┬────┬───────────┐│字段名称│数据类型│字段大小│格式│├─────┼─────┼────┼───────────┤│编号│文本│5││├─────┼─────┼────┼───────────┤│姓名│文本│4││├─────┼─────┼────┼───────────┤│性别│文本│1││├─────┼─────┼────┼───────────┤│年龄│数字│整型││├─────┼─────┼────┼───────────┤│工作时间│日期/时间││短日期│├─────┼─────┼────┼───────────┤│学历│文本│5││├─────┼─────┼────┼───────────┤│职称│文本│5││├─────┼─────┼────┼───────────┤│邮箱密码│文本│6││├─────┼─────┼────┼───────────┤│联系电话│文本│8││├─────┼─────┼────┼───────────┤│在职否│是/否│││└─────┴─────┴────┴───────────┘(2)根据“tTeacher”表结构,判断并设置主键;(3)设置“工作时间”字段的有效性规则为:只能输入上一年度5月1日以前的日期(规定:本年度年号必须用函数获取);(4)设置“职称”字段的默认值为“讲师”;(5)设置“邮箱密码”字段的输入掩码为将输入的密码显示为6位星号(密码)。
1.基本操作题【考点分析】本题考点:新建表;设置主键;字段有效性规则、默认值、输入掩码等字段属性的设置;添加记录。
(1)【解题步骤】步骤1:打开“samp1.mdb”数据库窗口,选中“表”对象,单击“新建”按钮,选中“设计视图”,单击“确定”按钮。
步骤2:按照题目要求建立新字段并设置相关字段属性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运筹学第二次上机练习题参考答案
1、安排四个人去做四项不同的工作。
每个工人完成各项工作所消耗的时间如表所示(时间单位:分钟)。
每个工人完成各项工作所消耗的时间
(2)如果把(1)中的消耗时间数据看成创造效益的数据,那么应如何指派,可使得总的效益最大?
(3)如果在(1)中再增加一项工作E,甲、乙、丙、丁四人完成工作E的时间分别为17分钟、20分钟、15分钟、16分钟,那么应指派这四个人干哪四项工作,使得这四人总的消耗时间最少?
(4)如果在(1)中再增加一个人戊,他完成A、B、C、D工作的时间分别为16分钟、17分钟、20分钟、21分钟,这时应指派哪四个人去干这四项工作,使得总的消耗时间最少?
解:(1)为典型的指派问题
winQSB中指派模型建立与求解如下:
基于上述最优指派方案,总的消耗时间最少,为71分钟。
(2)为求总效益最大的指派问题, 只需把目标最小改为目标最大。
基于上述最优指派方案,总效益最大,为102。
(3) 在(1)基础上增加工作E
基于上述最优指派方案(其中,工作D没有被安排给任何人执行),此时这四人总的消耗时间最少,为68分钟。
(4)为人多事少的指派问题,添加了一位工人。
基于上述最优指派方案(其中,乙没有被安排任何工作),总的消耗时间最少,为69分钟。
试回答:
(1)该项工程从施工开始到全部结束的最短时间?
(2)若工序L拖期10天,对整个工程进度有何影响?
(3)若工序J的工序时间由12天缩短到8天,对整个工程进度有何影响?(4)为保证整个工程进度在最短周期内完成,工序I最迟必须在哪一天开工?
解:(1)
有上述结果克制,工程完成的最短时间为80天。
(2)基于(1)的计算结果,工序L的松弛变量取值为28天,且大于10天,因此工序L拖期10天是可以接受得,整个工程仍能够在预计期限内完成。
(3) 基于(1)的计算结果,因为J处于关键路径上,因此如其工期变短,会影响更个工程进度,并且使总工期变短。
(4) 基于(1)的计算结果,I最迟在第56天开工可以保证在最短工期内整个项目完工。
3、金星社区计划在小区广场上建造一个老年活动室,具体项目的活动安排如表3- 1所示。
表3- 1
问题:
(1)找出关键路径,并判断项目能否在一年内完工。
(2)由于社区要参见全国百家优秀社区的评选,所以要紧缩项目,假定该项目必须在50周之内完成,才能来得及参加评选,请利用表3- 2所给出的信息,制定成本最小的方案。
并计算出实际所需成本、为紧缩时间所增加的费用。
表3- 2
解:
(1)基于Normal Time计算关键路径如下。
基于上述计算结果可发现,关键路径上的节点包括A、C、E、F和H,总工期为58周=58*7=406(天)>365,故无法在一年内完成。
(2)
基于上述计算结果,在50周内完成最低成本为139.08万元,而正常情况下成本为131万元,紧缩时间后增加成本为8.08万元。
4、某市六个新建单位之间的交通线路的长度(公里)如下表所示。
其中单位A距市煤气供应网最近,为1.5公里。
为使这六个单位都能使用煤气,现拟沿交通线铺设地下管道,并且经A与煤气供应网连通。
应如何铺设煤气管道使其总长最短。
解:该问题是一个最小支撑树问题。
应该在A->B,F->C,E->D,B ->E,E->F之间铺设,此时总长度最短为9.9(公里)5、求点s到点t的最短路,及到各点的最短路长
解:
到各点的最短路长如下。
6、下图表示了企业所处的供应市场、配送中心以及销售市场组成的网络,各弧上括号里的
前一个数字表示弧的容量,后一个数字是目前的实际流量。
其中,v1,v2为两家供应源,供应商v1的最大供货能力为15,供应商v2的最大供货能力为12。
v3,v4代表两个配送中心的仓库。
V5,v6,v7代表3个目标市场,市场v5的容量是5而现有需求量为4,市场v6 的容量为10而现有需求量为8,市场v7的容量为8而现有需求量为6.通过促销,扩大了市场v6的需求量,由现在需求量8扩大到10.试求这个供应---销售网络的最大流方案。
解:为了寻求网络最大流,将供应商V1,V2进行虚拟合并为Vs ,作为供应源,即网络的发点;弧(Vs ,V1)与(Vs ,V2),即为两条虚拟供应路径,其容量分别为供应商V1和V2的最大供货能力,流量分别为他们现有流出量,即如下图左方虚线上的数字。
再将三个目标市场V5,V6,V7虚拟合并成Vt ,为网络的收点;弧(V5,Vt ),(V6,Vt ),(V7,Vt ),即为3条虚拟收货路径,其容量分布不低于目标市场V5,V6和V7的最大市场容量,流量分布为它们现有流入量,即如下图右边虚线数字。
接着,检查上图的流量分布,需要这是一个可行流,显然,网络中,各条弧的流量都没有超过其容量,满足容量限制;而且V 1,….,V7的流入量都等于流处量,发点Vs 的流出量为18(6+12),收点为18(4+6+8),满足平衡条件。
这说明上图是可行流。
通过WinQSB 求解如下:
经计算,该销售网络的最大流方案如下。
7、长虹街道今年新建了11个居民小区,各小区的大致位置及相互间的道路距离(单位:100m)如图所示,请帮助决策:
(a)电信部门拟将宽带网铺设到各小区,应如何铺设最为经济?
(b)一个考察小组从小区1出发,最后到小区9然后离去,试帮助选择一条最短的考察路线。
解:
(a)该问题为最小支撑树问题,通过winQSB求解得
即应该这样子布置宽带:小区1<—>2, 2<—>4, 4<—>5, 5<—>6, 6<—>3, 4<—>8, 8<—>7, 8<—>9, 8<—>11, 7<—>10,之间进行布置最为经济。
此时,宽带网线路铺设的总长度最短,
为4700米。
(2)最短路径问题,求解得题目要求的最短路为小区1—>小区4—>小区8—>小区9,此时,最短路长为1600米。
8、求出下图所示的网络的最大流。
解:建立模型如下
求解得到的最大流如下。
9
10 12 8
15
7 4
6
9
6
10
13 s
15 11
5 18
t
7。