说明:本题库是针对2014年3月份考试的上机考试题库,本题库共有 100套题目 (每套题
目包含3道题:一道程序填空题、一道程序修改题、一道程序设计题),真实考试的时候,
考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套题目(包含三
道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机
会给你抽取哪一套题,所以大家只有把全部题库都理解才能万无一失)
二级C语言上机试题汇编
※※※※※※※※※※※※※※※※※※※※※※※※※
第1套:
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定
所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平
均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均
值和移动后的数据。
例如,有 10个正数:4630324061745 154826,平均值为:
30.500000
移动后的输出为:3061715264632404548
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结
果。
注意:源程序存放在考生文件夹下的BLANK1.C 中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
#defineN 10
doublefun(double*x)
{inti,j; doubleav,y[N];
av=0;
/**********found**********/
for(i=0;i
for(i=j=0;i
if(x[i]
/**********found**********/
y[j]=x[i];x[i]=-1;__2__;}
i=0;
while(i
{if(x[i]!=-1)y[j++]=x[i];
/**********found**********/
__3__;
}
for(i=0;i
returnav;
}
main()
{inti;doublex[N];
for(i=0;i
printf("\n");
printf("\nTheaverageis:%f\n",fun(x));
printf("\nTheresult:\n",fun(x));
for(i=0;i
printf("\n");
}
解题思路:
第一处:求出N个数的平均值,所以应填:N。
第二处:利用for循环语句,把数组x 中小于平均值的数,依次存放到数组y 中,其中位置
由
变量j 来控制,所以应填:j++。
第三处:i是while循环体的控制变量,每做一次循环均要加1。
***************************************************
给定程序MODI1.C 中函数 fun 的功能是:统计字符串中各元音字母(即:A、
E、I、O、U)的个数。注意:字母不分大、小写。
例如:若输入:THIsisaboot,则输出应该是:1、0、2、2、0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
fun(char*s,intnum[5])
{intk,i=5;
for(k=0;k
/**********found**********/
num[i]=0;
for(;*s;s++)
{i=-1;
/**********found**********/
switc (s)
{case'a':case'A': {i=0;break;}
case'e':case'E': {i=1;break;}
case'i':case'I': {i=2;break;}
case'o':case'O': {i=3;break;}
case'u':case'U': {i=4;break;}
}
if(i>=0)
num[i]++;
}
}
main()
{chars1[81];intnum1[5],i;
printf("\nPleaseenterastring:");gets(s1);
fun(s1,num1);
for(i=0;i<5;i++)printf("%d",n