国家二级(C语言)机试模拟试卷22(共67题)_第1页
国家二级(C语言)机试模拟试卷22(共67题)_第2页
国家二级(C语言)机试模拟试卷22(共67题)_第3页
国家二级(C语言)机试模拟试卷22(共67题)_第4页
国家二级(C语言)机试模拟试卷22(共67题)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级(C语言)机试模拟试卷22(共9套)(共67题)国家二级(C语言)机试模拟试卷第1套一、程序填空题(本题共1题,每题1.0分,共1分。)1、给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。例如,有下列矩阵:若k为2,程序执行结果为:请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构l#include#defineN3#defineM4/***************found*************/voidfun(int(*a)[N],int【1】){inti,temp;/***************found*************/for(i=0;i<【2】;i++)(temp=a[0][i];/***************found*************/a[0][i]=【3】;a[k][i]=temp;}}main(){int×[M][N]=({1,2,3},{4,5,6},{7,8,9},{10,11,12}},i,j;printf("Thearraybeforemoving:\n\n");for(i=0;i标准答案:(1)k(2)N(3)a[k][i]知识点解析:第一空:由“a[k][i]=temp;"可知,k是fun函数的第二个参数名,故第一空处应为“k"。第二空:题干要求把第k行的元素与第0行元素交换,每行元素有N个,故循环条件是i二、程序修改题(本题共1题,每题1.0分,共1分。)2、给定程序MODII.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。例如,当字符串中的内容为:”abcdabfabcdx”,t中的内容为:”ab”时,输出结果应是:abcdx。当字符串中的内容为:”abcdabfabcdx”,t中的内容为:”abd”时,则程序输出未找到信息:notbefound!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includechar*fun(char*s,char*t){char*p,*r,*a;/************found************/a=Null;while(*s){p=s;r=t;while(*r)/************found************/if(r==p){r++;p++;}elsebreak;if(*r==’\0’)a=s;s++;}returna;}main(){chars[100],t[100],*p;printf("\nPleaseenterstringS:");scanf("%s",s);printf("\nPleaseentersubstringt:");scanf("%s",t);p=fun(s,t);if(p)printf("\nTheresultis:%s\n",p);elseprintf("\nNotfound!\n");}标准答案:a=NULL;if(*r==*p)知识点解析:(1)第一个标识下面:语句“a=Null;”中的NuLL未定义。NULL代表空值,但程序中写成了NuLL。所以,改成“a=NULL;”。(2)程序的主体是二重循环,其中外循环使指针s逐个指向字符串的字符,直到遇到串结束符退出循环,内循环检查指针p与r所指字符串是否匹配。因为这里p、r是指针,如果使用判断表达式“if(r==p)”,那么比较的是地址,而题目要求比较它们所指的字符。所以,改为:“if(*r==*p)”。三、程序设计题(本题共1题,每题1.0分,共1分。)3、请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。例如,二维数组中的数据为:则一维数组中的内容应是:334455334455334455334455。注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(ints[][10],intb[],int*n,intmm,intnn){}main(){intw[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j;inta[100]={0},n=0;voidNONO();printf("Thematrix:\n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",w[i][j]);printf("\n");}fun(w,a,&n,3,4);printf("TheAarray:\n");for(i=0;i标准答案:{inti,j;for(j=0;j知识点解析:(1)利用两重循环,依次取矩阵中的元素。(2)其中注意指针数组与数组指针的区别,其中数组指针s,它指向包含4个元素的一维数组。其数据元素的表示方式为:“*(*(s+i)+j)”。国家二级(C语言)机试模拟试卷第2套一、程序填空题(本题共1题,每题1.0分,共1分。)1、给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!#include#defineN7/*************found************/voidfun(int(*a)【1】){inti,j,k,m;if(N%2==0)m=N/2;elsem=N/2+1;for(i=0;i标准答案:(1)[N](2)i(3)i+1知识点解析:第一空:第一空处是补充函数定义,在主函数内fun的调用形式是:fun(x),x是二维数组名,因此fun函数的参数是一个二维数组指针,故第一空处应为“[N]"。第二空:i等于0时,此时第二空下的循环内a[0][j]=a[N-1][j]=1,显然这是对最外围的两列赋值为1;i等于1时,对外向内第2列元素的值全部赋值为2,依此类推,故第二空处j的初值应为"i"。第三空:“a[k][i]=a[k][N-i-1]=【3】;"是对矩阵的两行进行操作,题干要求矩阵每一圈上的值都相等,故这里和上一个循环的列上的值相同,也为“i+l"。二、程序修改题(本题共1题,每题1.0分,共1分。)2、下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun()的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。其累加和通过函数值返回main()函数。例如,若n=5,则应输出8.391667。请改正程序中的错误,使它能得到正确结果。[注意]不要改动main函数,不得增行或删行,也不得更改程序的结构。[试题源程序]#include<stdio.h>#include<stdiib.h>typedefstructaa{intdata;structaa*next;}NODE;intfun(NODE*h){intsum=0;NODE*P;/**********found**********/p=h;while(P->next){if(p->data%2==0)sum+=p->data;/**********found**********/p=h->next;}returnsum;}NODE*creatlink(intn){NODE*h,*p,*s,*q;inti,x;h=p=(NODE*)malloc(sizeof(NODE));for(i=1;i<=n;i++){s=(NODE*)malloc(sizeof(NODE));s->data=rand()%16;s->next=p->next;p->next=s;p=p->next;}p->next=NULL;returnh;}outlink(NODE*h,FILE*Pf){NODE*p;p=h->next;fprintf(Pf,"\n\nTHELIST:\n\nHEAD");while(P){fprintf(Pf,"->%d",p->data);p=p->next;}fprintf(pf,"\n");}outresult(ints,FILE*pf){fprintf(Pf,"\nThesumofevennumbers:%d\n",s);}main(){NODE*head;inteven;head=creatlink(12);head->data=9000;outlink(head,stdout);even=fun(head);printf("\nTheresult:\n");outresult(even,stdout);}标准答案:(1)错误:while(p->next)正确:while(p!=NULL)或while(p)(2)错误:p=h->next;正确:p=p->next;知识点解析:错误1:循环时要注意循环中止的条件是p!=NULL(最后一个结点为空,就像字符串的最后一个字符为结尾标志符’\0’一样),while(p->next)使循环提前结束,所以应改为while(p!=NULL)或while(p)。错误2:当累加完后,应该把指针指向下一个结点的指针赋给p,而不是把头指针指向的下一个结点赋给p,否则还会造成死循环,所以p=h->next;应该改为p=p->next;。三、程序设计题(本题共1题,每题1.0分,共1分。)3、请编写函数fun(),其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。例如,输入17,则应输出46891012141516。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>voidfun(intm,int*k,intxx[]){}main(){intm,n,zz[100];clrscr();printf("\nPleaseenteranintegernumberbetween10and100:");scanf("%d",&n);fun(n,&m,zz);printf("\n\nThereare%dnon-primenumberslessthan%d:",m,n);for(n-0;n<m;n++)printf("\n%4d",zz[n]);}标准答案:voidfun(intm,int*k,intxx[]){inti,j,n=0;for(i=4;i<m;i++)/*找出大于1小于整数m的非素数*/{for(j=2;j<i;j++)if{i%j==0)break;if(j<i)xx[n++]=i;}*k=n;/*反回非素数的个数*/}知识点解析:这道题是考查一个数是不是素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决,请学习者以此题为例,搞清判断素数的方法。国家二级(C语言)机试模拟试卷第3套一、程序填空题(本题共1题,每题1.0分,共1分。)1、给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如,当形参n的值为10时,函数返回:-0.204491。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>doublefun(intn)finti,k;doubleS,t;s=0:/**********found**********/k=_1_;for(i=1;i<=n;i++){/**********found**********/t=_2_;s=s+k*(2*i-1)*(2*i+1)/(t*t);/**********found**********/k=k*_3_;}returnS;}main(){intn=-1;while(n<0){printf(’’Pleaseinput(n>0):’’);scanf(’’%d’’,&n);}printf(’’\nTheresultis:%f\n’’,fun(n));}标准答案:(1)1(2)2i(3)(-1)知识点解析:函数fun的功能是求级数和,观察可知,级数项有规律变化,可以用循环来累加求和。第一空:由”s=s+k*(2*i-1)。(2*i+1)/(t*t);”可知t*t表示的是级数项的分*,t=2*i,t=2,4,6…,故t的初始化值应为1,因此第一空处应为”1”。第二空:由第一空的分析可知,第二空处应为”2+j”。第三空:由”s=s+k*(2*i-1)*(2*i+1)/(t*t);”可知,k是级数项的(-1)n-1部分,所以在循环中k是每次都乘以-1,故第三处应为”(-1)”。二、程序修改题(本题共1题,每题1.0分,共1分。)2、给定程序MODll.C中函数fun的功能是:从低位开始取出长整型变量S中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当S中的数为:7654321时,t中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include<stdio.h>/**********found**********/voidfun(10ngS,longt){longsl=10;*t=S%10;while(s>0){S=s/100;*t=s%10*s1+*t:/**********found**********/s1=s1*100;}}main(){longS,t;printf("knPleaseenters:");scanf("%ld",&s);fun(s,&t);printf(”Theresultis:%ldqa",t);}标准答案:(1)V0idfun(10ngs,10ng*t)(2)sl=sl*10;知识点解析:本题中函数的功能是依次取出奇数位上的数。该题的解题思路主要是找出数字中的奇数位上的数。(1)根据“*t=s%10”判断,t应该是个指针变量,所以“voidfun(10ngs,longt)”语句中的t只需改为“voidfun(10ngs,long*t)”。(2)分析函数内的循环过程可知sl的用途是每次将*t扩大,记录每次得到的奇数位的数字的权值,s1的权值每次增加1位,因此第二个标识下应该是“s1=sl*10;”。三、程序设计题(本题共1题,每题1.0分,共1分。)3、假定输入的字符串中只包含字*和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,字符串中的内容为:****A*BC*DEF*G******,删除后,字符串中的内容应当是:****A*BC*DEF*G。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROGl.C文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include<stdio.h>voidfun(char*a){}main(){chars[81];voidNONO();printf(’’Enterastring:\n’’);gets(s);fun(s);printf(’’Thestringafterdeleted:\n’’);puts(s);NON00;}voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;inti;chars[81];in=fopen(”in.dat’’,’’r’’);out=fopen(’’out.dat’’,’’w’’);for(i=0;i<10;i++){fscanf(in,’’%s’’,s);fun(s);fprintf(out,’’%sin’’,s);}fclose(in);fclose(out);}标准答案:jntj=0;char*p,*q;p=q=a;while(*p)p++;p-;while(*p=’*’)p-;while(q<=p){a[i]:*q;i++:q++;}a[i]=’\0’;知识点解析:该程序功能是将字符串尾部的“*号全部删除,前面和中间的“*”号不删除。本题的解题过程首先确定由串尾开始的第一个非“*”位置,将由头开始到此位置的字符拷贝到字符串。(1)首先,使用一个指针p指向串尾,然后对指向串尾的指针p指向的字符进行判断,如果是“*”,指针p就跳过,这样来设置一个指针变量q指向字符串的头位置。(2)然后,将由字符串起始到最后一个字母之间的字符拷贝到字符串a。(3)最后,在新生成的字符串尾加’\0’。四、选择题(本题共40题,每题1.0分,共40分。)4、下列数据结构中,能用二分法进行查找的是()。A、无序线性表B、线性链表C、二叉链表D、顺序存储的有序表标准答案:D知识点解析:二分法查找只适用于顺序存储的有序表,表中的元素按值从从小到大于排列。5、下列叙述中,不属于设计准则的是()。A、提高模块独立性B、使模块的作用域在该模块的控制域中C、设计成多入口、多出口模块D、设计功能可预测的模块标准答案:C知识点解析:大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软件结构图进行优化,这些准则是:提高模块独立性;模块规模适中;深度、宽度、扇出和扇入适当;使模块的作用域在该模块的控制域中;应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可预测的模块。6、下列队列的描述中,正确的是()。A、队列属于非线性表B、队列在队尾删除数据C、队列按’’先进后出’’进行数据操作D、队列按’’先进先出’’进行数据操作标准答案:D知识点解析:队列是只允许在一端删除,在另一端捅入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行的。因此队列亦称作先进先出的线性表,或后进后出的线性表。7、对下列二叉树进行前序遍历的结果为()。A、ABCDEFGHB、ABDGEHCFC、GDBEHACFD、GDHEBFCA标准答案:B知识点解析:遍历就是不重复地访问二叉树的所有结点。二叉树遍历的方法有3种:前序遍历、中序遍历和后序遍历。记住3种遍历的顺序:①前序,访问根→按前序遍历左子树→按前序遍历右子树。②中序,按中序遍历左了树→访问根→按中序遍历右子树。③后序,按后序遍历左予树→按后序遍历右子树→访问根。所以对该二叉树的中序遍历结果为ABDGEHCF。8、对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。A、冒泡排序为n(n-1)/2B、简单插入排序为nC、希尔排序为nD、快速排序为n/2标准答案:A知识点解析:在最坏情况下,冒泡排序所需要的比较次数为n(n-11/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为0(n1.5);堆排序所需要的比较次数为O(nlog2n)。9、为了使模块尽可能独立,要求()。A、f勾聚程度要尽量高,耦合程度要尽量强B、内聚程度要尽量高,耦合程度要尽量弱C、内聚程度要尽量低,耦合程度要尽量弱D、勾聚程度要尽量低,耦合程度要尽量强标准答案:B知识点解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。10、下列选项中不属于软件生命周期开发阶段任务的是()。A、软件测试B、概要设计C、软件维护D、详细设计标准答案:C知识点解析:软件生命周期分为软件定义、软件开发及软件运行维护三个阶段,其中开发阶段包括概要设计、详细设计、实现和测试。11、数据独立性是数据库技*的重要特点之一。所谓数据独立性是指()。A、数据与程序独立存放B、不同的数据被存放在不同的文件中C、不同的数据只能被对应的应用程序所使用D、以上三种说法都不对标准答案:D知识点解析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。所以选项A,选项B和选项C都不正确。12、在学校中,’’班级’’与’’学生’’两个实体集之间的联系属于()关系。A、一对一B、一对多C、多对一D、多对多标准答案:B知识点解析:一个班可以有多名学生,而一名学生只能属于一个班级,所以”班级”与”学生”两个实体集之间的联系属于一对多关系。13、软件调试的目的是()。A、发现错误B、改善软件的性能C、改正错误D、验证软件的正确性标准答案:C知识点解析:在对程序进行了成功的测试之后将进入程序调试,程序调试的任务是诊断和改正程序中的错误。14、C语言源程序名的后缀是()。A、.exeB、.CC、.objD、.cp标准答案:B知识点解析:由C语言构成的指令序列称为C源程序,源程序文件的后缀为“.c”。源程序经过c编译程序编译生成后缀为“.obj”的二进制文件(称为目标文件),然后由称为”连接程序”(Link)的软件把目标文件与C语言提供的各种库函数连接起来,生成后缀为“.exe”的呵执行文件。15、若函数中有定义语句:inta;则()。A、系统将自动给a赋初值0B、这时a中的值是和随机数C、系统将自动给a赋初值-1D、这a中无任何值标准答案:B知识点解析:本题考查变量赋值基本概念。在声明一个变量后,如果未显式的对其进行赋值,则它的值是一个随机值。16、以下选项中,合法的一组C语言数值常量是()。A、0.28.5e-3-0xfB、12OXa234.5e0C、.1774c1.5OabcD、0x8A10,0003.e5标准答案:B知识点解析:八进制数开头必须是数字”0”,其数字包括0~7,而在选项A中,028是错误的。浮点数据的指数形式表示常量中,C语言规定字*e或E之前必须要有数字,且e或E之后的指数必须为整数,而选项C中4e1.5是错误的。在选项D中,整型数据10,000的表示形式是错误的。所以本题的答案为选项B。17、下列语句组中,不正确的是()。A、char*s;s=’’Olympic’’;B、chars[]=’’Olympic’’;c)C、char*s;s={*Olympic’’);D、chars[]={’’Olympic’’};标准答案:C知识点解析:s是一个字符指针变量,s代表其地址,c将字符串赋给地址,因此选项C错误。18、若在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。A、scanf(’’%d’’,a,b,c);B、scanfi(’’%d%d%d.’,a,b,c)C、scanf(’’%d’’,p);D、scanf(’’%d’’,&p);标准答案:C知识点解析:程序语句inta,b,c,+p=&c;定义了3个整型变量a,b,c和一个整型指针变量p,并且把变量c的地址赋给p。scanf函数的一般形式为scanf格式控制字符串”,地址列表)”,其中的地址列表应当是存放输入数据变量的地址。19、有以下程序,其中%u表示按无符号整数输出()。main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf(’’%u\n’’,x);}程序运行后的输出结果是()。A、.1B、65535C、32767D、0xFFFF。标准答案:B知识点解析:因为%u表示按无符号整数输出,而x用十六进制表示为OxFFFF,所以输出无符号整数的最大值65535。20、设变量x和y均已正确定义并赋值,以-F’if语句中,在编译时将产生错误信息的是()。A、if(x++);B、if(x>y&&y!=0);C、if(x>y)x-elsey++;D、if(y<0){}elsex++;标准答案:C知识点解析:选项C中,if(x>y)后面的”x-”是一个表达式而不是一个语句,所以在编译时会产生错误信息。21、以下选项中,当x为大于1的奇数时,值为0的表达式为()。A、x%2=1B、x/2C、x%2!=0D、x%2=0标准答案:D知识点解析:当x为大于1的奇数时,x对2求余的结果为1,不为0,所以选项D中表达式的值为0。22、若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。A、4B、16C、32D、52标准答案:C知识点解析:本题考查逗号表达式的运用。x=(i:4,j:16,k=32)中的i=4’j=16,k=32构成一个逗号表达式,整个表达式的值取最后一项的值,即32,所以x的值为32。23、在下列选项中,没有构成死循环的是()。A、inti=100;while(1){i-iO+l;if(i>100)break;}B、for();C、intk=10000;do{k++;}while(k>10000);D、ints=36;while(S)-s:标准答案:D知识点解析:选项D中,首先定义的变量s的值为36,因为语句-s;所以当s=0时循环会结束;选项A由于while(1)永远成立,循环构成死循环;选项B中for循环没有使循环结束的限定条件,也构成死循环:选项C中由于k永远大于10000,所以循环无法停止。24、在printf的格式字符中,e格式字符的作用是()。A、以十六进制无符号形式输出整数B、以带符号的十进制形式输出整数C、以指数形式输出实数D、以字符形式输出,且只输出一个字符标准答案:C知识点解析:本题考查printf函数的格式。格式字符”e”或者”E”都表示以指数形式输出单精度或双精度数。25、以下选项中正确的语句组是()。A、chars[];s=’’HELLO!’’;B、char*s;s={’’HELLO!’’};C、chars[10];S=’’HELLO!’’;D、char*s;S=’’HELLO!’’;标准答案:D知识点解析:本题考查数组和字符串的赋值。选项A中数组s没有明确其人小就赋值是错误的。选项B中不能有大括号,选项C中的写法应该为{’H’’E’’L’’L’’O’’!’}。26、字符串’’%%\’’ABCDEF\’’的长度是()。A、11B、10C、5D、3标准答案:B知识点解析:本题涉及字符串最基本的2个概念:①字符串的长度是指字符串中字符的个数,但不包括字符串结束符;②以反斜杆’\’开头的特殊字符序列,意思是把反斜杆后面的字符序列转换成特定的含义,而不是原来的含义,不包含在字符串长度之内,’\’连同后面的字符为一个长度;而’%’也是如此。27、下列说法正确的是A、int(**def)[10];——def指向一个指针,该指针指向10个整型变量构成的数组B、int*(*gh[10]);——gh指向一个指针,该指针指向10个整型变量构成的数组C、int*(*gh[10]);——gh是一个指针,指向由10个指向整型变量的指针构成的数组D、A,C均正确标准答案:D知识点解析:int*(*gh[10]);…gh是一个指针,指向由10个指向整型变量的指针构成的数组,int(**def)(10];——def指向一个指针,该指针指向10个整型变量构成的数组。28、若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。A、函数的实参和其对应的形参共占同一存储单元B、形参只是形式上的存在,不占用具体存储单元C、同名的实参和形参占同一存储单元D、函数的形参和实参分别占用不同的存储单元标准答案:D知识点解析:在C语言中,函数的实参单元与形参单元在内存中分配不同的存储单元。在调用函数时,给形参分配临时存储单元,并将实参对应的值传递给形参,在被调用函数中对形参存储单元中的值进行运算,最后通过retum语句把函数值返回调用函数。当调用结束后,形参单元被释放,实参单元仍保留并维持原值。29、设有如下定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。A、q-&data.m;B、*q=data.m;C、q=(structsk*)&data.m;D、q=(structsk*)data.m;标准答案:C知识点解析:利用强制类型转换(structsk*)把整数型地址&data_m转换成结构体变量指针赋给结构体指针变量q。30、有以下程序:intfl(doublea1{retuma*a;)intf2(intx,inty){doublea,b;a=fl(x);b=fl(y);returna+b:}main(){doublew;w=f2(2.1,4.0);}程序执行后,变量w的值是()。。A、20.21B、20C、20.0D、0标准答案:C知识点解析:本题考查函数调用的使用计算w的时候,先调用f2函数,f2函数的公式是”a+b”,计算a和b的时候又调用到f1函数,f1的函数是”a*a”,因此,w的计算公式为:w=(double)[(int)(2.1*2.1)+(int)(4.0*4.0)]=20.0。31、若语句’’t=fun(fun(x,y,a),(a+b,a+A、3B、4C、5D、6标准答案:A知识点解析:本题考查函数调用时的参数个数。在函数调用时,实参必须和形参的个数、类型一一对应。但函数的计算结果只有一个值,因而fun函数的参数个数为3。32、设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为()。A、14B、6C、2000D、4000标准答案:D知识点解析:&是取地址运算符,表达式x=&a是表示将a的地址赋给变量x。33、若有说明intm[3][4]={3,9,7,8.5),(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<-j<4)值的正确引用为()。A、(q+i)[j]B、*q[i][1]C、*(*q[i]+j)D、*(*(q+i)+j)标准答案:D知识点解析:*q+i)指向第i行首地址,*(*(q+i)+j)代表第i行第j个元素。34、有以下程序:voidss(char*s,chart){while(*S){if(*s=t)*s=t-’a’+’A’;S++:}}main(){charstrl[100]=’’ABCddfefdbd’’,c=’d’;ss(strl,c);printf(’’%s\n’’,strl);}程序运行后的输出结果是()。A、ABCDDEFEDBDB、ABCDDfefDbDC、ABCAAfefAbAD、ABCdd~fdbd标准答案:B知识点解析:函数ss(char*s,chart)的功能是将指针s所指向的字符串中存在的字符”t”均改写成大写字*;所以main函数中引用函数ss后使得数组strl中的小写字*”d”均变成了大写字*”D”,然后输出数组strl,结果为:ABCDDflefDbD。35、下述语句中,在字符串s1和s2相等时显示’’theyareEqual’’的是()。A、if(*s1=*s2)B、if(!strcmp(s1,s2))puts(’’theyareEqual’’);puts(’’theyareEqual’’);C、if(s1=s2)D、if(strcmp(s1,s2))puts(’’theyareEqual’’);puts(’’theyareEqual’’);标准答案:B知识点解析:字符串比较不能用”=“,要用strcmp(s1,s2)函数,字符串s1和s2相等时返回值为0,故!strcmp(s1,s2)=1,条件成立执行后面的语句,输出theyareEqual。36、设有说明int(*ptr)[M];其中的标识符ptr是()。A、M个指向整型变量的指针B、指向M个整型变量的函数指针C、一个指向具有M个整型元素的一维数组的指针D、具有M个指针元素的一维指针数组,每个元素都只能指向整型变量标准答案:C知识点解析:根据C语言的语法规则可知,int(*ptr)[M]中的标识符ptr是一个指向具有M个整型元素的一维数组指针。37、在C语言中,变量的隐含存储类别是()。A、autoB、staticC、extemD、无存储类别标准答案:A知识点解析:C语言中,变量的隐含存储类型为auto。38、有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+l,15,a+2,30,a+3,17,a);main()finti;p=a;for(i=1;i<=2;i++){printf(’’%d,’’,p->x);p=p->y;)}程序的运行结果是()。A、20,30,B、30,17C、15,30,D、20,15标准答案:D知识点解析:本题考查的是指针和结构的应用。首先定义的数组tt中有两个成员,一个整型变量,一个结构指针。当i=1时,p指针指向结构数组的第一个元素,并输出此元素的第一个成员x,即20;当i=2时,p指针指向结构数组的第二个元素的第一个成员,所以输出15。39、有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3,0,0),i;fp=fopen(’’d2.dat’’,’’wb’’);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(”d2.dat’’,’’rb’’);fread(a,sizeof(int),10,fp);fclose(fp);f.0r(i=0;i<10;i++)printf(’’%d,’’,a[i]);}程序的运行结果是()。A、1,2,3,0,0,0,0,0,0,0,B、1,2,3,l,2,3,0,0,0,0,C、123,0,0,0,0,123,0,0,0,0,D、1,2,3,0,0,1,2,3,0,0标准答案:D知识点解析:首先用函数fopen()以“wb”的方式打开文件“d2.dat”,然后调用两次。fwrite函数将数组a的5个元素,依次输出到文件fp中(共10个字节),然后关闭文件。再次打开文件,使用文件指针指向文件的开头,调用fread函数从文件fp中读取这10个字节的数据到数组a中,此时数组a的内容就变为{1,2,3,0,0,1,2,3,0,0},因此最后的输出结果为“1,2,3,0,0,1,2,3,0,0”。40、定义结构体数组structstu{intnum;charname[20];)x[5]={1,’’ZHAO’’,2,’’QIAN’’,3,’’SUN’’,4,’’LEE’’,5,’’ZHOU’’};for(i=l;i<5;i++)printf(’’%d%c’’,x[i].hum,x[i].name[2]);程序执行后的输出结果是()。A、2A3N4E50B、1H213U4EC、1A2N3E40D、1A2N3E40标准答案:A知识点解析:本题主要考查结构体数组。x[i]_num是结构体x[i]中的num成员,x[i].name[2]是结构体x[i]中name成员的第3个元素。第一次循环,i=1,输出x[1].num,X[1].name[2]的值,即2A;第二次循环,i=2,输出x[2].num,x[2].name[2]的值,即3N;第三次循环,i=3,输出x[3].num,x[3].name[2]的值,即4E;第四次循环,i=4,输出x[4].num,x[4].name[2]的值,即50。41、uniondt{inta;charb;doublec;}data;以下叙述中错误的是A、data的每个成员起始地址都相同B、变量data所占内存字节数与成员C所占字节数相等C、程序段:data.a=5;printf(’’f\n’’,data.c);输出结果为5.000000D、data可以作为函数的实参标准答案:C知识点解析:输出不会是5.00000的,因为单精度浮点数和双精度浮点数在内存中的存储形式不一样。42、设x=021,y=012,则z=x|y的值是()。A、1B、0C、00011011D、1.1e+007标准答案:C知识点解析:本题主要考查按位或运算。按位或是对两个运算对象相应的位进行逻辑或运算,其运算规则和逻辑或相同,两个运算对象只要有一个是1,则结果为1。43、fgets(str,n,f1))函数从文件中读入一个字符串,以下错误的叙述是()。A、字符串读入后会自动加入’\0’B、fp是指向该文件的文件型指针C、fgets函数将从文件中最多读入n个字符D、fgets函数将从文件中最多读入n-1个字符标准答案:C知识点解析:字符串输入函数fgets()的调用形式为:fgets(s,n,fp)。s可以是一个字符数组名,或是指向字符串的指针;n为要读取的最多的字符个数;fp是指向该文件的文件型指针。字符串输入函数的功能是:从fp所指向的文件中读取长度不超过n.1个字符的字符串,并将该字符串存放到字符数组s中。国家二级(C语言)机试模拟试卷第4套一、程序填空题(本题共1题,每题1.0分,共1分。)1、标准答案:0j--j知识点解析:第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是t[j][0],第一行元素是t[0][N-j-1],故第一空处应为“0”。第二空:第四个循环是最后一列成为最后一行,即将最后一列移动到最后一行,“for(j=N-1;j>=0;___2___)”循环变量j从N-1开始,到0结束,共循环N次,故j每次减一,第三空处是“j--”。第三空:最后一个循环将临时数组中的元素成为最后一列,即t[j][N-1]=r[j],故第三空处应为“j”。二、程序修改题(本题共1题,每题1.0分,共1分。)2、给定程序MODll.C中函数fun的功能是:求s的值。例如,当k为10时,函数值应为:1.533852。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include/************found************/voidfun(intk){intn;doubles,w,p,q;n=1;s=1.0;while(n<=k){w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n++;}/************found************/returns}main(){printf("%f\n",fun(10));}标准答案:doublefun(intk)returns;知识点解析:(1)第一个标识下fun函数的定义缺少返回类型,所以将“voidfun(intk)”改为“doublefun(intk)”。(2)第二个标识下返回语句没有分号结束。所以,第二个标识下“returns”应该改为“returns;”。三、程序设计题(本题共1题,每题1.0分,共1分。)3、请编写一函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括l与n自身)之和。规定n的值不大于1000。例如,在主函数中从键盘给n输入的值为856,则输出为:sum=763。注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includeintfun(intn){}NONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,n,sum;rf=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d",&n);sum=fun(n);fprintf(wf,"%d=%d\n",n,sum);}fclose(rf);fclose(wf);}main(){intn,sum;printf("Inputn:");scanf("%d",&n);sum=fun(n);printf("sum=%d\n",sum);NONO();}标准答案:{ints=0,i;for(i=2;i知识点解析:(1)首先,在for循环过程中,利用if判断语句判断由2到n-1所有数字中,选择为因子的数。(2)如果是因子,那么对其进行累计求和。国家二级(C语言)机试模拟试卷第5套一、程序填空题(本题共1题,每题1.0分,共1分。)1、函数fun的功能是:统计长整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1,c2,c3返回主函数。例如:当n=123114350时,结果应该为:c1=3c2=1c3=2。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!标准答案:(1)n%10(2)break(3)break知识点解析:函数fun的功能是统计长整数n的各个位上出现数字1、2、3的次数,分别判断n的各位数是否是1、2、3,如果是的话在分别的计数变量上加1。二、程序修改题(本题共1题,每题1.0分,共1分。)2、给定程序MODll.C中fun函数的功能是:求出以下分数序列的前n项之和。和值通过函数值返回main函数。例如,若n=5,则应输出:8.391667。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!标准答案:(1)doublefun(intn)(2)c=a;a+=b;b=c;知识点解析:本题中函数的功能是求出分数序列的前n项之和。首先根据题干中给出的公式推出每一项之间的关系,求出每一项的表达式,然后求得数列的和。每一项的分母是前一项的分子,分子是前一项分子和分母的和。三、程序设计题(本题共1题,每题1.0分,共1分。)3、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。标准答案:知识点解析:该程序功能是把分数最高的学生数据放在h所指的数组中。本题是关于求解结构体中某些成员的最大值,首先将第一个值设定为最大值,并在循环中将其他所有值与该值进行比较,求得最大值。然后将最大值与所有值进行比较,求得所有的最大值。国家二级(C语言)机试模拟试卷第6套一、程序填空题(本题共1题,每题1.0分,共1分。)1、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有10个正数:4630324061745154826,平均值为:30.500000移动后的输出为:4632404548306171526请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN10doublefun(double*x){inti,j;doubles,av,y[N];s=0;for(i=0;iav){/******************found******************/y[【2】]=x[i];x[i]=一1;}for(i=0;i标准答案:(1)s/N(2)j++(3)-1知识点解析:第一空:“for(i=0;i二、程序修改题(本题共1题,每题1.0分,共1分。)2、给定程序MODll.C中函数fun的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includevoidfun(){inta[3][3],sum;inti,j;/***********found************/_________;printf("Inputdata:");for(i=0;i<3;i++){for(j=0;j<3;j++)/***********found************/scanf"%d",a[i][j]);}for(i=0;i<3;i++)sum=sum+a[i][i];printf("sum=%d\n",sum);}main(){fun();}标准答案:(1)sum=0(2)scanf("%d,",&a[i][j]);知识点解析:(1)根据题意计算元素求和,所以函数fun中不仅要有用于存储累加和的变量sum,而且要给sum赋初值。因此,填空处填上“sum=0"。(2)scanf()语句中的实参必须是地址型的,而下标a[i][j]却是整型的变量。因此第二个标识下“a[i][j]"应改为“&a[i][j]"。三、程序设计题(本题共1题,每题1.0分,共1分。)3、假定输入的字符串中只包含字母和*号。请编写函数fun。它的功能是:将字符串中的前导*号全部移到字符串的尾部。例如,字符串中的内容为:********A*BC*DEF*G****,移动后,字符串中的内容应当是:A*BC*DEF*G**********。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件FROGl.C文件中。请勿改动主函数main和其他函数中的任何内容。仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a){}main(){chars[81];intn=0;voidNONO();printf("Enterastring:\n");gets(s);fun(s);printf("Thestringaftermoveing:\n");puts(s);NONO();}voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;inti;chars[81];in=fopen("in.dat","r");out=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(in,"%s",s);fun(s);fprintf(out,"%s\n",s);}fclose(in);fclose(out);}标准答案:{inti=0,n=0;//"*"号统计器n赋初始值0char*p;p=a;//工作指针p指向字符串swhile(*p==’*’)//循环统计前导"*"号数目n{n++;p++;}while(*p)//截取"*"号字符{a[i]=*p;i++;p++;}while(n!=0)//在串尾开始添加n个"*"号{a[i]=’*’;i++;n--;}a[i]=’\0’;}知识点解析:(1)首先,设置一个指针变量指向字符串的头位置,并使用循环,统计从字符串头开始的“*”号数目。(2)当指针指向由字符串头开始的第一个非“*”号字符,将指针指向的字符依次赋值给字符串。(3)最后,当指针指向字符串尾时,开始添加第一步统计的“*”号个数,然后在新生成的字符串尾加’\0’。国家二级(C语言)机试模拟试卷第7套一、程序填空题(本题共1题,每题1.0分,共1分。)1、请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。例如:当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0},结果为:avg=15.030000。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仪在函数fun的横线上填入所编写的若干表达式或语句。试题程序:#include<stdio.h>#include<conio.h>doublefun(doublex[10]){inti;longt;doubleavg=0.0;doublesum=0.0;for(i=0;i<l0;i++)【】;avg=sum/10;avg=【】;t=【】;avg=(double)t/100;returnavg;}main(){doubleavg,x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0};inti;clrscr();printf(“\nTheoriginaldatais:\n”);for(i=0;i<l0;i++)printf("%6.lf",x[i]);printf(“\n\n”);avg=fun(x);printf(“average=%f\n\n”,avg);}标准答案:sum+=x[i]avg*1000(avg+5)/10知识点解析:第一空:通过for循环求出10个数的累加和,存于变量sum中。第二空:为了实现四舍五入保留两位小数的功能,应将平均值先扩大1000倍。第三空:将平均值加上5,再除以10,实现四舍五入的功能。二、程序修改题(本题共1题,每题1.0分,共1分。)2、下列给定程序中函数fun()的功能是;从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为4576235时,t中的数为4725。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>#include<conio.h>/************found*************/intfun(longS,long*t){longs1=l0;*tiS%10;while(s>0){/*************found*************/s=s%100;*t=S%10*S1+*t;s1=s1*10;}}main(){longS,t;clrscr();printf("\nPIeaseenterS:");scanf(“%ld”,&s);fun(S,&t);printf(“Theresultis:%ld\n”,t);}标准答案:(1)错误:intfun(longs,long*t正确:voidfun(longs,long*t)(2)错误:s=s%100;正确:s=s/100;知识点解析:错误1:函数由指针来完成参数的传递,所以没有返回值,应定义函数的类型为void。错误2:此处要注意特殊运算符号“%”——取余和“/”——整除的区别。将一个数整除100则可得到由其百位数以上的数组成的新数字,将一个数整除100取余则可得到由十位数和个位数组成的新数。三、程序设计题(本题共1题,每题1.0分,共1分。)3、请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p到n-1(p≤n-1)的数组元素平移到数组的前面。例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值为6。移动后,一维数组中的内容应为7,8,9,10,11,12,13,14,15,1,2,3,4,5,6。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<stdio.h>#defineN80voidfun(int*w,intp,intn){}main(){inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};inti,p,n=15;printf("Theoriginaldata:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\nEnterp:");scanf("%d",&p);fun(a,p,n);printf("\nThedataaftermoving:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");}标准答案:voidfun(int*w,intp,intn){inti.j,t;for(i=p;i<=n-1;i++)/*循环右移n-p次*/{t=w[n-11;for(j=n-2;j>=0;j--)/*实现循环右移*/w[j+1]=w[j];w[0]=t;}知识点解析:本题采用“循环右移”的算法。和我们在前面分析的稍有不同的是,—个是整型数组,—个是字符型数组。国家二级(C语言)机试模拟试卷第8套一、程序填空题(本题共1题,每题1.0分,共1分。)1、给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。请在程序的下划线处填入正确的内容并把下划线删除。使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN5typedefstructnode{intdata;structnode*next;}NODE;/**********found**********/【1】fun(NODE*h){NODE*p,*q,*r;p=h;if(p==NULL)returnNULL;q=p->next;p->next=NULL;while(q){/**********found**********/r=q->【2】;q->next=p;p=q;/**********found**********/q=【3】;}returnp;}NODE*creatlist(inta[]){NODE*h,*p,*q;inti;h=NULL;for(i=0;idata=a[i];q->next=NULL;if(h==NULL)h=p=q;else{p->next=q;p=q;}}returnh;}voidoutlist(NODE*h){NODE*p;p=h;if(p==NULL)printf("ThelistisNULL!\n");else{printf("\nHead");do{printf("->%d",p->data);p=p->next;}while(p!=NULL);printf("->End\n");}}main(){NODE*head;inta[N]={2,4,6,8,10};head=creatlist(a);printf("\nTheoriginallist:\n");outlist(head);head=fun(head);printf("\nThelistafterinverting:\n");outlist(head);}标准答案:NODE*nextr知识点解析:第一空:主函数内fun函数调用形式是“head=fun(head);”,变量head是NODE指针,故fun函数的返回值是NODE指针,即第一空处应为“NODE*”。第二空:while循环完成链表的倒置,在循环体内,p、q和r指针分别指向三个连续的结点,p指针在最前,然后是q指针,r指针在最后。将q指针指向p结点,p和q两个结点倒置,然后p、q和r再往后移动一个结点,继续对其他结点逆置。因此第二空处r是q的后面一个结点,故第二空处为“next”。第三空:由第二空的分析可知,第三空处是将q结点往后移动一个结点位置,故第三空处为“r”。二、程序修改题(本题共1题,每题1.0分,共1分。)2、给定程序MODII.C中fun函数的功能是:根据整型形参m,计算如下公式的值。t=1-1/2-1/3-…-1/m例如,若主函数中输入5,则应输出-0.283333。;请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!#includedoublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)/**************found************/t=1.0-1/i;/**************found************/_________;}main(){intm;printf("\nPleaseenter1integernumbers:\n");scanf("%d",&m);printf("\n\nTheresultis%lf\n",fun(n1));}标准答案:(1)t=t一1.0/i;或t一=1.0/i;或t一=(double)1/i;(2)returnt;知识点解析:(1)第一个标识下的“t=-1.0.1/i;"语句对题干中给出的多项式的求值,而根据题干中多项式的特点,多项式应该是“t=t-1.0/i;"。(2)根据函数定义,fun函数应该具有返回值,第二个标识下的填空应该是“returnt;"返回多项式的值。三、程序设计题(本题共1题,每题1.0分,共1分。)3、请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。例如,给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,输出应为:s=35.951014。注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数的的花括号中填入你编写的若干语句。#include#includedoublefun(doublex[9]){}main(){doubles,a[9]={12.0,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论