全国计算机等级考试二级C语言上机题库共55套文档格式.docx
《全国计算机等级考试二级C语言上机题库共55套文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言上机题库共55套文档格式.docx(51页珍藏版)》请在冰豆网上搜索。
合并的方式是:
将a数的十位和个位数依次放在c数的十位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
voidfun(inta,intb,long*c)
{
*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);
}
第二套
给定程序中,函数fun的功能是:
计算出形参s所指字符串中包含的单词个数,作为函数值返回。
为便于统计,规定各单词之间用空格隔开。
第1处n++;
flag=1;
第2处if(*s==’’)flag=0;
第3处s++;
从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。
t+=s[k];
*aver=ave;
3程序设计
请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元。
intfun(int*s,intt,int*k)
inti,pos=0,max=*s;
for(i=1;
i<
t;
i++)
if(max<
*(s+i)){
max=*(s+i);
pos=i;
}}
*k=pos;
第三套
给定程序中,函数fun的功能是计算下式s=3/22-5/42+7/62-…+(-1)n-1(2×
n-1)/(2×
n)2直到︱(2×
n2)︱≤10-3并把计算结果作为函数值返回,例如:
若形参e的值为-le-3,函数的返回值为0.551690。
第1处x=3.0/4;
第2处while(x>
e)
第3处x=(2*i+1)/(t*t);
求出以下分数序列的前n项之和。
2/1,3/2,5/2,8/5,13/8,31/13…和值通过函数值返回到main函数。
doublefun(intn)
s=s+(double)a/b;
请编写函数fun,它的功能是:
求出一个2×
M整型二维数组中最大元素的值,并将此值返回调有函数。
fun(inta[][M])
inti,j,max=a[0][0];
for(i=0;
2;
for(j=0;
j<
M;
j++)
a[i][j])
max=a[i][j];
returnmax;
第四套
把形参a所指数组中的的最小值放在元素a[0],接着把形参a所指数组中的最大值放a[1]元素中;
再把a所指数组中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];
其余以此类推。
第1处max=min=a[i];
第2处if(max<
a[j])
第3处if(min>
用递归算法计算列中第n项的值。
从第一项起,斐波拉契数列为:
1、1、2、3、5、8、13、21、……
switch(g)
case1:
return1;
case2:
某学生的记录由学号、8门课程和平均分组成,学号和8门课程成绩已在主函数中给出。
请编写函数fun,它的功能是;
求出该学生的平均分放在记录的ave成员中。
voidfun(STREC*a)
{inti;
N;
a->
ave=a->
ave+a->
s[i];
a->
ave/=N
第五套
有N×
N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。
第1处voidfun(int)(*t)[N]
第2处t[i][j]=t[i][j]+t[j][i];
第3处t[j][i]=0;
2程序修改
计算函数值,F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)其中x和y的值不等,z和y的值不等。
例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。
/**found**/
#defineFU(m,n)((m)/(n))
return(value);
}
规定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
将字符串中的前导*号全部删除,中间和尾部的*号不删除。
voidfun(char*a)
{
intj=0;
char*p=a;
while(*p=='
*'
)p++;
while(*p){
a[j++]=*p;
p++;
a[j]=0;
第六套
1.程序填空
给定程序中,函数fun的功能是:
将形参s所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。
第一处t[j]=s[i];
j++;
第二处for(i=0;
k;
t[j+i]=p[i];
第三处t[j+k]=0;
2.程序修改
给定程序MODI1.C中函数fun的功能是:
将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的
数组中。
在此处,要求t1和t2所指字符串的长度相同。
while(*w)
if(*r==*p)
3.程序设计
函数fun的功能是:
将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。
voidfun(char*s,chart[])
{inti,j=0;
strlen(s);
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
第七套
1.程序填空
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。
第一处structstudent*
fun(structstudent*a)
3;
score[i]+=1;
第三处returna;
从N个字符串中找出最长的那个串,并将其地址作为函数值返回。
各字符串在主函数中输入,并放在一个字符串数组中。
char*fun(char(*sq)[M])
returnsp;
函数fun的功能是:
将a、b中的两位正整数合并形成一个新的整数放在c中。
将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。
#include<
stdio.h>
voidfun(inta,intb,long*c)
{*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
第八套
将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇书,则中间元素不动。
第一处p=(n%2==0)?
n/2:
n/2+1;
第二处a[i]=a[p+i];
第三处a[p+i]=t;
把主函数中输入的三个数,最大的放在a中,最小的放在c中,中间的放在b中。
floatk;
if(*a<
*c)
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:
把分数最高的学生数据放在b所指的数组中,注意:
分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
intfun(STREC*a,STREC*b)
inti,max=a[0].s,n=0;
a[i].s)max=a[i].s;
if(max==a[i].s)b[n++]=a[i];
returnn;
第九套
给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
第一处for(i=0;
av+=x[i]/N
第二处y[j]=x[i];
x[i]=-1;
第三处i++;
统计字符串各元音字母(即:
A、E、I、O、U)的个数。
注意字母不分大小写。
num[k]=0;
switch(*s)
请编写函数fun,函数的功能是:
求出二级数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
intfun(inta[M][N])
inttot=0,i,j;
tot+=a[0][i];
tot+=a[M-1][i];
M-1;
i++){
tot+=a[i][0];
tot+=a[i][N-1];
returntot;
第十套
函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。
第一处structstudent
fun(structstudenta)
第二处strcpy(a.name,”LiSi”);
第三处a.score[i]+=1;
假定整数数列中的数不重复,并存放