二级C上机题1.docx

上传人:b****6 文档编号:6986872 上传时间:2023-01-15 格式:DOCX 页数:89 大小:53.13KB
下载 相关 举报
二级C上机题1.docx_第1页
第1页 / 共89页
二级C上机题1.docx_第2页
第2页 / 共89页
二级C上机题1.docx_第3页
第3页 / 共89页
二级C上机题1.docx_第4页
第4页 / 共89页
二级C上机题1.docx_第5页
第5页 / 共89页
点击查看更多>>
下载资源
资源描述

二级C上机题1.docx

《二级C上机题1.docx》由会员分享,可在线阅读,更多相关《二级C上机题1.docx(89页珍藏版)》请在冰豆网上搜索。

二级C上机题1.docx

二级C上机题1

二级C_第1套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:

求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。

ss所指字符串数组中共有M个字符串,且串长小于N。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)M  

(2)<  (3)k

二、程序修改题

下列给定程序中函数fun的功能是:

将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。

例如,若输入"Ab,cD",则输出"AB,CD"。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

【参考答案】

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

(2)tt[i]-=32;

三、程序设计题

编写函数fun,其功能是:

将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:

4 6 8 9 10 12 14 15 16。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

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套上机题

一、程序填空题

函数fun的功能是:

统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)j=2 

(2)i (3)j

二、程序修改题

数列中,第一项为3,后一项都比前一项的值增5。

下列给定程序中,函数fun的功能是:

计算前n(4

在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回。

例如,当n的值为20时,该数列为3、8、13、18、23、28、…、93、98,符合此条件的累加值应为42、126、366、570、1010。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

【参考答案】

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

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

三、程序设计题

请编写函数fun,其功能是:

计算并输出下列多项式的值,

S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)

例如,若主函数从键盘给n输入8后,则输出为S=0.662872。

注意:

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

部分源程序在文件PROG1.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

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套上机题

一、程序填空题

程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。

函数fun的功能是:

对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据。

例如,若b所指变量t中的学号、姓名和三门课的成绩依次是:

10002、"ZhangQi"、93、85、87,修改后输出t中的数据应为:

10004、"LiJie"、93、85、87。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)->sno  

(2)->name  (3)&t

二、程序修改题

下列给定程序中函数fun的功能是:

用递归算法求形参a的平方根。

求平方根的迭代公式如下:

 

例如,a为2时,平方根值为:

1.414214。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)doublefun(doublea,doublex0)

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

三、程序设计题

学生的记录由学号和成绩组成。

N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:

把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

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套上机题

一、程序填空题

给定程序中,函数fun的功能是:

利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。

ss所指字符串数组中共有N个字符串,且串长小于M。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)i  

(2)ps[j]  (3)tp

二、程序修改题

已知一个数列从0项开始的前3项:

0、0、1,以后的各项都是其相邻的前3项之和。

下列给定的程序中,函数fun的功能是:

计算并输出该数列前n项的平方根之和sum。

n的值通过形参传入。

例如,当n=10时,程序的输出结果应为23.197745。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)doublefun(intn)

(2)returnsum;

三、程序设计题

请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

S=1+x+x2/2!

+x3/3!

+…+xn/n!

例如,当n=10,x=0.3时,函数值为1.349859。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

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套上机题

一、程序填空题

程序通过定义学生结构体数组,存储若干名学生的学号、姓名和三门课的成绩。

函数fun的功能是:

将存放学生数据的结构体数组,按姓名的字典序(从小到大)排序。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)structstudent  

(2)n-1

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

二、程序修改题

下列给定程序中函数fun的功能是:

从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。

例如,调用fun函数之前给字符串输入“ABCDeFGH”,调用后字符串中的内容应为“eABCDFGH”。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

(1)q=p+i;

(2)while(q>p)

三、程序设计题

学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中。

请编写函数fun,其功能是:

把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

例如,输入的分数是60、69,则应当把分数在60~69的学生数据输出,包含60分和69分的学生数据。

主函数中把60放在low中,把69放在heigh中。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

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套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:

将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为"def35adh3kjsdf7",执行后结果为"defadhajsdf3537"。

请在程序的下画线处填入正确的内容把下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

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

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

二、程序修改题

下列给定程序中函数fun的功能是:

用冒泡法对6个字符串进行升序排列。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

【参考答案】

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

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

三、程序设计题

编写函数fun,其功能是:

求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符为1,则输出3。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

intfun(char*ss,charc)

{

inti=0;

for(;*ss!

='\0';ss++)

if(*ss==c)

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

returni;

}

二级C_第7套上机题

一、程序填空题

下列给定程序中,函数fun的功能是计算下式

直到

,并将计算结果作为函数值返回。

例如,若形参e的值为1e-3,函数的返回值为2.985678。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)0  

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

二、程序修改题

下列给定程序中函数fun的功能是:

将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。

例如,当s所指字符串为:

"ABCD"时,t所指字符串中的内容应为:

"ABCDDCBA"。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

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

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

三、程序设计题

编写函数fun,其功能是:

将s所指字符串中除了下标为奇数同时ASCII值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。

例如,若s所指字符串的内容为:

"ABCDEFG12345",其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。

最后t所指数组中的内容应为:

"135"。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

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套上机题

一、程序填空题

程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。

函数fun的功能是:

将形参a所指结构体变量s中的数据进行修改,并把a的地址作为函数值返回主函数,从主函数中输出修改的数据。

例如,a所指变量s中的学号、姓名和三门课的成绩依次是:

10001、"ZhangSan"、95、80、88,修改后输出t中的数据应为:

10002、"LiSi"、96、81、89。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)structstudent*  

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

二、程序修改题

下列给定程序中函数fun的功能是:

从N个字符串中找出最长的串,并将其地址作为函数值返回。

各字符串在主函数中输入,并放入一个字符串数组中。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

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

(2)returnsp;

三、程序设计题

编写函数fun,其功能是:

将a、b中的两个两位正整数合并成一个新的整数放在c中。

合并的方式是:

将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。

例如,当a=45,b=12,调用该函数后c=2415。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

voidfun(inta,intb,long*c)

{

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

}

二级C_第9套上机题

一、程序填空题

程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。

函数fun的功能是:

将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。

例如,若传给形参a的数据中学号、姓名和三门课的成绩依次是:

10001、"ZhangSan"、95、80、88,修改后的数据应为:

10002、"LiSi"、96、81、89。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)structstudent

(2)a.name

(3)a.score[i]

二、程序修改题

假定整数数列中的数不重复,并存放在数组中。

下列给定程序中函数fun的功能是:

删除数列中值为x的元素。

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

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

【参考答案】

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

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

三、程序设计题

编写函数fun,其功能是:

将两个两位数的正整数a、b合并成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

例如,当a=45,b=12时,调用该函数后,c=1524。

注意:

部分源程序在文件PROG1.C中。

数据文件IN.DAT中的数据不得修改。

请勿动改主函数的main和其它函数中的任何内容,仅在函数fun的花括号填入你编写的若干语句。

【参考答案】

voidfun(inta,intb,long*c)

{

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

}

二级C_第10套上机题

一、程序填空题

下列给定程序中,函数fun的功能是:

在形参s所指字符串中的每个数字字符之后插入一个*号。

例如,形参s所指的字符串为"def35adh3kjsdf7",执行后结果为"def3*5*adh3*kjsdf7*"

注意:

部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)&&  

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

二、程序修改题

下列给定程序中函数fun的功能是:

根据整型形参m,计算如下公式的值。

 

例如,若m的值为5,则应输出1.463611。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

【参考答案】

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

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

三、程序设计题

编写函数fun,其功能是:

实现B=A+A',即将矩阵A加上A的转置,存放在矩阵B中。

计算结果在main函数中输出。

例如,输入下面的矩阵:

其转置矩阵为:

    

程序输出:

注意:

部分源程序在文件PROG1.C中。

请勿请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

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套上机题

一、程序填空题

给定程序中,函数fun的功能是:

判断形参s所指字符串是否是"回文"(Palindrome),若是,函数返回值为1;不是,函数返回值为0。

"回文"是正读和反读都一样的字符串(不区分大小写字母)。

例如,LEVEL和Level是"回文",而LEVLEV不是"回文"。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)s  

(2)--  (3)return0

二、程序修改题

下列给定程序中,函数fun的功能是:

求出如下分数列的前n项之和。

 

和值通过函数值返回main函数。

例如,若n=5,则应输出8.391667。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

【参考答案】

(1)doublefun(intn)

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

三、程序设计题

请编写一个函数voidfun(intm,intk,intxx[]),该函数的功能是:

将大于整数m且紧靠m的k个素数存入所指的数组中。

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

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】

voidfun(intm,intk,intxx[])

{

inti,j,n;

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

{for(j=2;j

if(i%j==0)break;

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

xx[n++]=i;

}

}

二级C_第12套上机题

一、程序填空题

函数fun的功能是:

统计长整数n的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、c3返回主函数。

例如,当n=123114350时,结果应该为:

c1=3c2=1c3=2。

注意:

部分源程序在文件BLANK1.C中。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

【参考答案】

(1)n%10  

(2)break  (3)break

二、程序修改题

下列给定程序中,函数fun实现的功能是:

统计一个无符号整数中各位数字值为0的个数,通过形参传回主函数,并把该整数中各位上最大的数字值作为函数值返回。

例如,若输入无符号整数30800,则数字值为0的位的个数为3,各位上数字值最大的是8。

请改正函数fun中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构。

【参考答案】

(1)if(t==0)

(2)*zero=count;

三、程序设计题

请编写函数fun,其功能是:

计算并输出下列多项式的值。

 

例如,在主函数中从键盘为n输入50后,输出为S=1.718282。

注意:

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

部分源程序在文件PROG1.C中

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1