计算机二级c语言上机题库最新题库绝对准确.docx

上传人:b****3 文档编号:5484696 上传时间:2023-05-08 格式:DOCX 页数:54 大小:34.62KB
下载 相关 举报
计算机二级c语言上机题库最新题库绝对准确.docx_第1页
第1页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第2页
第2页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第3页
第3页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第4页
第4页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第5页
第5页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第6页
第6页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第7页
第7页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第8页
第8页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第9页
第9页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第10页
第10页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第11页
第11页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第12页
第12页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第13页
第13页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第14页
第14页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第15页
第15页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第16页
第16页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第17页
第17页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第18页
第18页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第19页
第19页 / 共54页
计算机二级c语言上机题库最新题库绝对准确.docx_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机二级c语言上机题库最新题库绝对准确.docx

《计算机二级c语言上机题库最新题库绝对准确.docx》由会员分享,可在线阅读,更多相关《计算机二级c语言上机题库最新题库绝对准确.docx(54页珍藏版)》请在冰点文库上搜索。

计算机二级c语言上机题库最新题库绝对准确.docx

计算机二级c语言上机题库最新题库绝对准确

二级C_第1套上机题

【参考答案】求ss所指字符串数组中长度最短

(1)M  

(2)<  (3)k

【参考答案】小写字母全部改为对应的大写字母。

(1)if((tt[i]>='a')&&(tt[i]<='z'))

(2)tt[i]-=32;

【参考答案】大于1小于整数m的非素数存入xx

voidfun(intm,int*k,intxx[])

{

inti,j,n=0;

for(i=4;i

/*找出大于1小于整数m的非素数*/

{for(j=2;j

if(i%j==0)break;

if(j

}

*k=n;

/*返回非素数的个数*/

}

二级C_第2套上机题

【参考答案】小于等于n(n>2)的素数的个数

(1)j=2 

(2)i (3)j

【参考答案】计算前n(4

(1)inti,j=0,k,sum;

(2)if(sum%4==2)

【参考答案】S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)

doublefun(intn)

{

inti;

doubles=0.0;

for(i=1;i<=n;i++)

s=s+(1.0/(2*i-1)-1.0/(2*i));/*计算S=(1-1/2)+(1/3-1/4)+

(1/(2n-1)-1/2n)*/

returns;

}

二级C_第3套上机题

【参考答案】对形参b所指结构体变量中的数据进行修改

(1)->sno  

(2)->name  (3)&t

【参考答案】用递归算法求形参a的平方根

(1)doublefun(doublea,doublex0)

(2)if(fabs(x1-x0)>=0.00001)

【参考答案】把高于等于平均分的学生数据放在b所指的数组中

doublefun(STREC*a,STREC*b,int*n)

{

inti;

doubleav=0.0;

*n=0;

for(i=0;i

av=av+a[i].s;

av=av/N;/*求平均值*/

for(i=0;i

if(av<=a[i].s)

{b[*n]=a[i];*n=*n+1;}/*将高于等于平均分的学生存入b所指存储单元

中,并统计人数*/

returnav;/*返回平均分*/

}

二级C_第4套上机题

【参考答案】用指针数组对形参ss所指字符串数组中的字符串按由长到短

的顺序排序

(1)i  

(2)ps[j]  (3)tp

参考答案】平方根之和sum。

n的值通过形参传入

(1)doublefun(intn)

(2)returnsum;

【参考答案】S=1+x+x2/2!

+x3/3!

+…+xn/n!

级数和

doublefun(doublex,intn)

{

inti;

doubles=1.0,s1=1.0;

for(i=1;i<=n;i++)

{s1=s1*i;/*各项中的阶乘*/

s=s+pow(x,i)/s1;/*按公式求出*/

}

returns;

}

二级C_第5套上机题

参考答案】将存放学生数据的结构体数组,按姓名的字典序(从小到大)

排序。

(1)structstudent  

(2)n-1

(3)a[i].name,a[j].name

【参考答案】从p所指字符串中找出ASCII码值最大的字符

(1)q=p+i;

(2)while(q>p)

【参考答案】把指定分数范围内的学生数据放在b所指的数组中,

intfun(STREC*a,STREC*b,intl,inth)

{

inti,j=0;

for(i=0;i

if(a[i].s>=l&&a[i].s<=h)

/*将分数高于l,低于h的学生记录存入结构体数组b中*/

b[j++]=a[i];

returnj;/*返回分数范围内的学生人数*/

}

二级C_第6套上机题

【参考答案】将s所指字符串中的所有数字字符移到所有非数字字符之后

(1)j++或j+=1或++j或j=j+1

(2)s[i]=t1[i]  (3)j

【参考答案】冒泡法对6个字符串进行升序排列。

(1)for(j=i+1;j<6;j++)

(2)*(pstr+i)=*(pstr+j);

【参考答案】求ss所指字符串中指定字符的个数

intfun(char*ss,charc)

{

inti=0;

for(;*ss!

='\0';ss++)

if(*ss==c)

i++;/*求出ss所指字符串中指定字符的个数*/

returni;

}

二级C_第7套上机题

【参考答案】e的值为1e-3,函数的返回值为2.985678

(1)0  

(2)i++或++i或i+=1或i=i+1  (3)2.0*i

【参考答案】将s所指字符串的正序和反序进行连接

(1)voidfun(char*s,char*t)

(2)t[2*d]='\0';或t[d+i]='\0';或t[2*d]=0;或t[d+i]=0;

【参考答案】将s所指字符串中除了下标为奇数同时ASCII值

voidfun(char*s,chart[])

{

inti,j=0,n;

n=strlen(s);

for(i=0;i

if(i%2!

=0&&s[i]%2!

=0)

{t[j]=s[i];/*将下标为奇数同时ASCII码值为奇数的字符放入数组t中

*/

j++;

}

t[j]='\0';/*最后加上结束标识符*/

}

二级C_第8套上机题

【参考答案】10001、"ZhangSan"、95、80、88,修改后输出t中的数据应

为:

10002、"LiSi"、96、81、89将形参a所指结构体变量s中的数据进行

修改,并把a的地址作为函数值返回主函数,从主函数中输出修改的数据

(1)structstudent*  

(2)a->score[i]  (3)a

【参考答案】从N个字符串中找出最长的串,并将其地址作为函数值返回

(1)char*fun(char(*sq)[M])

(2)returnsp;

【参考答案】当a=45,b=12,调用该函数后c=2415;将a、b中的两个

两位正整数合并成一个新的整数放在c中

voidfun(inta,intb,long*c)

{

*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;

}

二级C_第9套上机题

【参考答案】将形参a中的数据进行修改,把修改后的数据作为函数值返

回主函数进行输出10001、"ZhangSan"、95、80、88,修改后的数据应为

10002、"LiSi"、96、。

(1)structstudent

(2)a.name

(3)a.score[i]

【参考答案】删除数列中值为x的元素。

变量n中存放数列中元素的个数

(1)if(p==n)return-1;

(2)a[i]=a[i+1];

【参考答案】

voidfun(inta,intb,long*c)

{

*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;

}

二级C_第10套上机题

【参考答案】在形参s所指字符串中的每个数字字符之后插入一个*号

(1)&&  

(2)0或'\0'  (3)s[j]或*(s+j)

【参考答案】根据整型形参m若m的值为5,则应输出1.463611。

(1)for(i=2;i<=m;i++)

(2)y+=1.0/(i*i);或y+=(double)1.0/(i*i)

【参考答案】实现B=A+A',即将矩阵A加上A的转置,存放在矩阵B中

voidfun(inta[3][3],intb[3][3])

{

inti,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

b[i][j]=a[i][j]+a[j][i];/*把矩阵a加上a的转置,存放在矩阵b中*/

}

二级C_第11套上机题

【参考答案】判断形参s所指字符串是否是"回文"(Palindrome)

(1)s  

(2)--  (3)return0

【参考答案】求出如下分数列的前n项之和若n=5,则应输出8.39166

(1)doublefun(intn)

(2)s=s+(double)a/b;

【参考答案】大于整数m且紧靠m的k个素数存入所指的数组中。

例如,若输入17,5,则应输出19、23、29、31、37。

voidfun(intm,intk,intxx[])

{

inti,j,n;

for(i=m+1,n=0;n

k个素数*/

{for(j=2;j

环,判断下一个数*/

if(i%j==0)break;

if(j>=i)/*如果是素数,放入数组xx中*/

xx[n++]=i;

}

}

二级C_第12套上机题

【参考答案】统计长整数n的各位上出现数字1、2、3的次数,并用外部(

全局)变量c1、c2、c3返回主函数。

(1)n%10  

(2)break  (3)break

【参考答案】统计一个无符号整数中各位数字值为0的个数

(1)if(t==0)

(2)*zero=count;

【参考答案】例如,在主函数中从键盘为n输入50后,输出为S=1.718282

注意:

要求n的值在大于1但不大于100之间。

doublefun(intn)

{

doublesum=0,tmp=1;

inti;

for(i=1;i<=n;i++)

{

tmp=tmp*i;

sum+=1.0/tmp;

}

returnsum;

}

二级C_第13套上机题

【参考答案】在形参ss所指字符串数组中查找与形参t所指字符串相同的

串,找到后返回该串在字符串数组中的位置

(1)N  

(2)i  (3)-1

【参考答案】从整数10到55之间,查找能被3整除且有一位上的数值是5的

数,把这些数放在b所指的数组中

(1)a2=k/10;

(2)returni;

【参考答案】将字符串尾部的*号全部删除,前面和中间的*号不动。

voidfun(char*a)

{

while(*a!

='\0')

a++;

a--;/*指针a指向字符串的尾部*/

while(*a=='*')

a--;/*指针a指向最后一个字母*/

*(a+1)='\0';/*在字符串最后加上结束标志符*/

}

二级C_第14套上机题

【参考答案】统计形参s所指的字符串中数字字符出现的次数,并存放在

形参t所指的变量中

(1)s[i]  

(2)'9'  (3)*t=n

【参考答案】实现两个变量值的交换,规定不允许增加语句和表达式。

(1)t=*x;*x=y;

(2)return(t);或returnt;

【参考答案】求出1~1000之间能被7或11整除,但不能同时被7和11整除的

所有整数,并将其放在a所指的数组中

voidfun(int*a,int*n)

{

inti,j=0;

for(i=1;i<=1000;i++)

/*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,

并放入数组a中*/

if((i%7==0||i%11==0)&&i%77!

=0)

a[j++]=i;

*n=j;

}

二级C_第15套上机题

【参考答案】下式前n项的和,当形参n的值为10时,函数返回:

-

0.204491。

(1)1  

(2)2*i  (3)(-1)

【参考答案】判断一个整数是否为素数,若是素数返回1,否则返回0。

(1)k++;

(2)if(m==k)

【参考答案】找出一维整型数组元素中最大的值及其所在的下标,并通过

形参传回

voidfun(inta[],intn,int*max,int*d)

{

inti;

*max=a[0];

*d=0;

for(i=0;i

素的下标放入指针d所指的单元*/

if(*max

{*max=a[i];*d=i;}

}

二级C_第16套上机题

【参考答案】计算

的前n项。

若x=2.5,函数值为12.182340。

(1)1.0 

(2)1 (3)i

【参考答案】找出100~n(不大于1000)之间三个位上的数字都相等的所有

整数,把这些整数放在s所指的数组中

(1)k=i;

(2)b=k%10;

【参考答案】计算并输出给定10个数的方差例如,给定的10个数为95.0、

89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,则输出为S

=11.730729。

 

doublefun(doublex[10])

{

doublex1=0.0,s=0.0;

inti;

for(i=0;i<10;i++)

x1=x1+x[i];

x1=x1/10;/*求10个数的平均值*/

for(i=0;i<10;i++)

s=s+(x[i]-x1)*(x[i]-x1);

returnsqrt(s/10);/*求10个数的方差*/

}

二级C_第17套上机题

【参考答案】在形参ss所指字符串数组中,将所有串长超过k的字符串中

后面的字符删除,只保留前面的k个字符

(1)[M]  

(2)N  (3)'\0'

【参考答案】当给指定精度的变量eps输入0.0005时,应输出Pi=

3.140578。

π/2=1+1/3+1/3×2/5+1/3×2/5×3/7+1/3×2/5×3/7×4/9+

(1)t=1.0;

(2)return(s*2);

【参考答案】使字符串的前导*号不得多于n个,若多于n个,则删除多余

的*号;若少于或等n个,则不做处理,字符串中间和尾部的*号不删除。

voidfun(char*a,intn)

{

inti=0;

intk=0;

char*p,*t;

p=t=a;/*开始时,p与t同时指向数组的首地址*/

while(*t=='*')/*用k来统计前部星号的个数*/

{k++;t++;}

if(k>n)/*如果k大于n,则使p的前部保留n个星号,其后的字符依次存入

数组a中*/

{while(*p)

{a[i]=*(p+k-n);

i++;

p++;

}

a[i]='\0';/*在字符串最后加上结束标识位*/

}

}

二级C_第18套上机题

【参考答案】把形参s所指字符串中下标为奇数的字符右移到下一个奇数

位置

(1)1  

(2)s[k]或*(s+k)  (3)c

【参考答案】表达式

s=aa…aa-…-aaa-aa-a

(1)longs=0,t=0;

(2)t=t/10;

【参考答案】统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的

次数,并依次放在pp所指的数组

voidfun(char*tt,intpp[])

{

inti;

for(i=0;i<26;i++)

pp[i]=0;

/*初始化pp数组各元素为0*/

for(;*tt!

='\0';tt++)

if(*tt>='a'&&*tt<='z')

pp[*tt-'a']++;

}

二级C_第19套上机题

【参考答案】查找含有形参substr所指子串的所有字符串,并输出,若没

找到则输出相应信息

(1)N  

(2)substr  (3)0

【参考答案】

(1)fun(intx,inty,intz)或intfun(intx,inty,intz)

(2)returnj;

【参考答案】只删除字符前导和尾部的*号,串中字母间的*号都不删除。

voidfun(char*a,intn,inth,inte)

{

inti,j=0;

for(i=h;i

除*/

a[j++]=a[i];

a[j]='\0';/*在字符串最后加上结束标识*/

}

二级C_第20套上机题

【参考答案】首先从素数2开始,将所有2的倍数的数从数表中删去(把数

表中相应位置的值置成0);

(1)a[i] 

(2)a[i] (3)0

【参考答案】为一个偶数寻找两个素数,这两个素数之和等于该偶数,并

将这两个素数通过形参指针传回主函数。

(1)y=1;

(2)d=a-i;

【参考答案】计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数

之和。

doublefun(intn)

{

inti;

doublesum=0.0;

for(i=1;i<=n;i++)

if(i%5==0||i%9==0)

sum+=1.0/i;

returnsum;

}

二级C_第21套上机题

【参考答案】将形参s所指字符串中下标为奇数的字符取出,并按ASCII码

大小递增排序,将排序后的字符存入形参p所指字符数组中,形成一个新

串。

(1)while(fabs(t)>=num)

(2)t=s/n;

【参考答案】用下面的公式求π的近似值,直到最后一项的绝对值小于指

定的数(参数num)为止。

(1)t=i  

(2)i  (3)'\0'或0

【参考答案】删除一个字符串中指定下标的字符。

voidfun(chara[],charb[],intn)

{

inti,k=0;

for(i=0;a[i]!

='\0';i++)

if(i!

=n)

/*将不是指定下标的字符存入数组b中*/

b[k++]=a[i];

b[k]='\0';/*在字符串最后加上结束标识*/

}

二级C_第22套上机题

【参考答案】直到

<10-6。

若x=2.5,函数值为12.182494。

(1)x  

(2)n  (3)t

【参考答案】计算n的5次方的值(规定n的值大于2且小于8)

(1)d=1;

(2)s=0;

(3)d=d/10;

【参考答案】计算并输出给定数组(长度为9)中每相邻两个元素的平均值

的平方根之和。

doublefun(doublex[9])

{

doublesum=0.0;

inti,j=1;

for(i=0;i<9;i++)

if(j<=8)

{

sum+=sqrt((x[i]+x[i+1])/2.0);j++;/*相邻两个元素之

平均值的平方根之和*/

}

returnsum;

}

二级C_第23套上机题

【参考答案】若形参ch中是小写英文字母,则转换成对应的大写英文字母

;若ch中是大写英文字母,则转换成对应的小写英文字母;

(1)&& 

(2)'A' (3)ch

【参考答案】例如,输入1、2、3、4,程序运行后输出以下方阵:

4 1 2 3

3 4 1 2

2 3 4 1

1 2 3 4

(1)voidfun(int*a)

(2)a[j]=a[j-1];

【参考答案】计算并输出给定整数n的所有因子(不包括1与自身)之和

intfun(intn)

{

ints=0,i;

for(i=2;i<=n-1;i++)/*将n减1累加*/

if(n%i==0)

s+=i;

returns;

}

二级C_第24套上机题

【参考答案】从三个形参a、b、c中找出中间的数,并作为函数值返回。

(1)a  

(2)a  (3)b

【参考答案】将大写字母转换为对应小写字母之后的第5个字母

(1)c=c+32;

(2)c=c+5;

【参考答案】计算并输出

S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5)

的值。

doublefun(intn)

{

inti;

doubles=0.0,s1=0.0;

for(i=1;i<=n;i++)

{s1=s1+pow(i,0.5);/*求每一项*/

s=s+s1;/*按公式求出s*/

}

returns;

}

二级C_第25套上机题

【参考答案】在形参s所指字符串中寻找与参数c相同的字符,并在其后插

入一个与之相同的字符,

(1)'\0'  

(2)0  (3)c

【参考答案】:

计算数组元素中所有值为正数的平均值(不包括0)。

(1)doublesum=0.0;

(2)sum/=c;

【参考答案】若n的值为11时,函数的值为1.833333

floatfun(intn)

{

inti,s1=0;

floats=0.0;

for(i=1;i<=n;i++)

{s1=s1+i;

/*求每一项的分母*/

s=s+1.0/s1;/*求多项式的值*/

}

returns;

}

二级C_第26套上机题

【参考答案】从形参ss所指字符串数组中,删除所有串长超过k的字符串

,函数返回剩余字符串的个数

(1)N  

(2)k  (3)ss[i]

【参考答案】逐个比较p、q所指两个字符串对应位置上的字符,并把

ASCII值大或相等的字符依次存放到c所指的数组中

(1)intk=0;

(2)while(*p||*q)

【参考答案】除了字符串前导的*号之外,将串中其它*号全部删除。

不得

使用C语言提供的字符串函数。

voidfun(char*a)

{

inti=0;

char*p=a;

while(*p&&*p=='*')

{

a[i]=*p;

i++;

p++;

}

while(*p)

{

if(*p!

='*')

{a[i]=*p;i++;}

p++;

}

a[i]='\0';

}

二级C_第27套上机题

【参考答案】各位上为偶数的数取出,并按原来从高位到低位相反的顺序

组成一个新数,作为函数值返回。

(1)0  

(2)10*x(3)n/10

【参考答案】将长整型数中各位上为奇数的数依次取出,构成一个新数放

在t中。

高位仍在高位,低位仍在低位。

(1)*t=0;

(2)if(d%2!

=0)或if(d%2==1)

【参考答案】实现两个字符串的连接(不要使用库函数strcat),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2