上机要完成的实验内容实验手册:P395、8、9课本:P1683、10本文档中的编程题目加分题目:课本P1698、9自己复习的部分:一、选择题目:1.若有语句inta[8],则下述对a的描述正确的是【】。A)定义了一个名称为a的一维整形数组,共有8个元素B)定义了一个数组a,数组a共有9个元素C)说明数组a的第8个元素为整型变量D)以上答案均不正确2.若有说明:inta[10];则对a数组元素的正确引用是【】。A)a[10]B)a[3.5]C)a(5)D)a[10-10]3.以下能对一维数组a进行正确初始化的语句是【】。A)inta[10]=(0,0,0,0,0);B)inta[10]={};C)inta[]={0};D)inta[10]=(10*1);4.对说明语句inta[10]={6,7,8,9,10};的正确理解是【】。A)将5个初值依次赋给a[1]至a[5]B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[10]D)因为数组长度与初值的个数不相同,所以此语句不正确5.若二维数组a有m列,则在a[i][j]前的元素个数为【】。A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+16.若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是【】。A)2B)3C)4D)无确定值7.定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是【】。for(i=0;i3;i++)printf(%d,x[i][2-i]);A)159B)147C)357D)3698.假设array是一个有10个元素的整型数组,则下列写法中正确的是【】。A)array[0]=10B)array=0C)array[10]=0D)array[-1]=09.若有说明:inta[3][4];则对a数组元素的非法引用是【】。A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]二、填空题目:2.在考生目录下,给定程序FILL1.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。例如:从键盘上输入2345,则程序运行的结果应当为:n=2345。程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includestdio.hmain(){chars[10];inti;longintn=0;clrscr();/**************found************/___(1)___;/**************found************/for(i=0;___(2)___;i++)n=n*10+s[i]-'0';printf(n=%ld\n,n);}3.在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的项值,要求每行输出5个数。请填空。程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includestdio.hmain(){longintf[20]={1,1};inti;clrscr();/**************found************/___(1)___;for(i=2;i20;i++){f[i]=f[i-1]+f[i-2];/**************found************/if(___(2)___)printf(\n);printf(%8ld,f[i]);}printf(\n);}4.在考生目录下,给定程序FILL1.C的功能是:实现在N行M列的二维数组中,找出每一行上的最大值,且原数组值不变。例如:如果二维数组元素的值为:157426438231时,程序的运行结果应为:Themaxvalueinline0is7Themaxvalueinline1is6Themaxvalueinline2is8请填空。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#defineM4#defineN3main(){inti,j,p,x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};clrscr();/************found************/for(i=0;___(1)___;i++){p=0;for(j=0;jM;j++)if(x[i][p]x[i][j])/************found************/___(2)___;printf(Themaxvalueinline%dis%d\n,i,x[i][p]);}}5.在考生目录下,给定程序FILL1.C的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366。请填空。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includestdio.hmain(){chars[6];intn=0,j=0;clrscr();/************found************/___(1)___;/************found************/while(___(2)____){n=n*8+s[j]-'0';j++;}printf(%d\n,n);}6.在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的项值,要求每行输出5个数。请填空。程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includestdio.hmain(){longintf[20]={1,1};inti;clrscr();/**************found************/___(1)___;for(i=2;i20;i++){f[i]=f[i-1]+f[i-2];/**************found************/if(i%5==0)___(2)___;printf(%8ld,f[i]);}printf(\n);}7.在考生目录下,输出一维数组a中的最小值及其下标。请填空。程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includestdio.hmain(){inti,p=0,a[10];clrscr();/************found************/for(i=0;___(1)___;i++)scanf(%d,&a[i]);for(i=1;i10;i++)if(a[i]a[p])/************found************/___(2)___;printf(%d,%d\n,a[p],p);}8.在考生目录下,给定程序FILL1.C的功能是:把数组a(大小为100)中前n个元素中的最大值放入a的最后一个元素中,n的值由键盘输入。请填空。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includestdio.hmain(){inta[100],i,n;clrscr();/************found************/___(1)___;for(i=0;in;i++)scanf(%d,&a[i]);a[99]=a[0];for(i=1;in;i++)if(a[99]a[i])a[99]=a[i];/************found************/printf(Maxis%d\n,___(2)___);}9.在考生目录下,给定程序FILL1.C的功能是:从键盘上输入若干个整数,并将这些整数存放在数组x中,统计计算出平均成绩,当输入负数时结束。例如,如果从键盘上输入:1234-8,则程序的输出应为:Output:ave=2.50请填空。程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includestdio.hmain(){floatx[1000],sum=0.0,ave,a;intn=0,i;clrscr();printf(Entermark:\n);scanf(%f,&a);while(a=0.0&&n1000){/************found************/sum+=___(1)___;x[n]=a;n++;scanf(%f,&a);}/************found************/ave=___(2)___;printf(Output:\n);printf(ave=%.2f\n,ave);}10.在考生目录下,给定程序FILL1.C的功能是:查找n在数组a中最后一次出现的位置。例如:如果a数组中的元素为:1,5,2,5,6,8,7,4,3,0,当n=5时,程序的输出结果为:5isNo.3。当n=10时,程序的输出结果应为:10notfound!。请填空。程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includestdio.hmain(){inta[10]={1,5,2,5,6,8,7,4,3,0};inti,k,n,f=0;clrscr();scanf(%d,&n);for(i=0;i10;i++)/************found************/if(___(1)___){f=1;/************found************/___(2)___;}if(f)printf(%disNo.%d\n,n,k);elseprintf(%dnotfound!\n,n);}改错题目1.在考生目录下,给定程序MODI1.C的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。例如:当s中的字符串为:ABCDE时,则t中的字符串应为:ABCDEEDCBA。程序中有两处错误,错误都在提示行:/***********found***********/的下面一行,请考生注意。请改正程序中的错误,使它能得出正确的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#includeconio.h#includestdio.h#includestring.hmain(){chars[80],t[80];inti,sl;clrscr();printf(\nPleaseenterstrings:);scanf(%s,s);sl=strlen(s);/************found************/for(i=0;i=sl;i+=2)t[i]=s[i];for(i=0;isl;i++)t[sl+i]=s[sl-i-1];/************found************/t[sl]='\0';printf(Theresultis:%s\n,t);}2.在考生目录下,给定程序MODI1.C的功能是:求一维数组a中的最大元素及其下标。例如,当一维数组a中的元素为:34,4,2,7,3,12,5,8,5,9,程序的输出应为:Themaxis:34,posis:0。程序中有两处错误,错误都在提示行:/*