03二级C语言上机题库第二次修改Word文档格式.docx

上传人:b****5 文档编号:16633932 上传时间:2022-11-25 格式:DOCX 页数:117 大小:81.15KB
下载 相关 举报
03二级C语言上机题库第二次修改Word文档格式.docx_第1页
第1页 / 共117页
03二级C语言上机题库第二次修改Word文档格式.docx_第2页
第2页 / 共117页
03二级C语言上机题库第二次修改Word文档格式.docx_第3页
第3页 / 共117页
03二级C语言上机题库第二次修改Word文档格式.docx_第4页
第4页 / 共117页
03二级C语言上机题库第二次修改Word文档格式.docx_第5页
第5页 / 共117页
点击查看更多>>
下载资源
资源描述

03二级C语言上机题库第二次修改Word文档格式.docx

《03二级C语言上机题库第二次修改Word文档格式.docx》由会员分享,可在线阅读,更多相关《03二级C语言上机题库第二次修改Word文档格式.docx(117页珍藏版)》请在冰豆网上搜索。

03二级C语言上机题库第二次修改Word文档格式.docx

47:

下下N

48:

下由假

49:

下在编

50:

下在请

51:

下下已

52:

下N编

7、给下请【6-8页】

53A:

给下请

53B:

54A:

54B:

55A:

55B:

56A:

56B:

57A:

57B:

58:

59:

60:

61:

62:

63:

64A:

64B:

65A:

65B:

给下请

65C:

8、给下编【8页】

66A:

给下编

66B:

67:

68:

69:

70:

71:

72A:

72B:

72C:

72D:

9、给开头其他【9页】

73A:

给给请

73B:

73C:

73D:

给给函

74A:

给下已

74B:

给下函

74C:

给下m

74D:

给已请

75:

给下下

76A:

给下下

76B:

10、程下请【10页】

77:

程下请

78:

79A:

程下请

79B:

79C:

11、程下学【11页】

80:

程下学

81:

12、程开头其他【11页】

82:

程下规

83:

程下编

84:

程下N

85:

程假学

86:

程下程

13、函下请【12页】

87:

函下请

88:

89:

89B:

90:

91:

92:

93A:

93B:

93C:

函下请

94:

函数请

14、请下请【13页】

95:

请下请

96:

97:

98:

99:

15、请下下【13页】

100:

请下下

101:

16、请开头其他【13页】

102:

请下已

103:

请下m

104:

请已假

105:

17、其他开头【14页】

106:

人下请

107:

用下请

108:

甲下请

109:

s下请

110:

N下请

111:

函给请

上机考试题库题目查询目录

 

1◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

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

计算如下公式前n项的和并作为函数值返回。

例如,当形参n的值为10时,函数返回值为9.612558。

【答案】【1】0【2】n 【3】(t*t)

【改错】下列给定程序中函数fun的功能是:

统计substr所指的子符串在str所指的字符串中出现的次数。

例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。

【答案】

【1】for(i=0;

str[i];

i++)

【2】if(substr[k+1]==′\0′)

【编程】编写函数fun,其功能是:

根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。

程序运行后,若输入精度0.0005,则程序应输出为3.14…。

Doublefun(doubleeps)

{

doubles=1.0,s1=1.0;

intn=1;

while(s1>

=eps)  

{ s1=s1]s=s+s1;

  

n++;

}

return2}

2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整数27638496,函数返回值为64862。

【答案】【1】0【2】10*x【3】n/10

将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。

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

例如,当s中的数为87653142时,t中的数为7531。

【答案】【1】*t=0;

【2】if(d%2!

=0)

实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:

FirstString—SecondString程序输出:

FirstString--SecondString

voidfun(charp1[],charp2[])

inti,j;

for(i=0;

p1[i]!

=′\0′;

i++);

for(j=0;

p2[j]!

j++)

p1[i++]=p2[j];

p1[i]=′\0′;

3◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序中函数fun的功能是:

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

ss所指字符串数组中共有M个字符串,且串长<

N。

【答案】【1】M 【2】<

 【3】k

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

例如,若输入"

Ab,cD"

,则输出"

AB,CD"

【答案】

【1】if((tt[i]>

=′a′)&

&

(tt[i]<

=′z′)【2】tt[i]-=32;

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

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

4 6 8 9 10 12 14 15 16。

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

inti,j,n=0;

for(i=4;

i<

m;

{ for(j=2;

j<

i;

   if(i%j==0)break;

if(j<

i)xx[n++]=i;

*k=n;

4◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

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

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

【答案】【1】j++【2】s[i]=t1[i]

【3】j

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

【1】for(j=i+1;

j<

6;

j++)

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

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

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

intfun(char*ss,charc)

inti=0;

for(;

*ss!

ss++)

if(*ss==c)

i++;

returni;

5◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。

函数fun的功能是:

把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。

【答案】【1】x【2】p【3】s

计算正整数num各位上的数字之积。

例如,若输入252,则输出应该是20。

若输入202,则输出应该是0。

【答案】【1】longk=1;

【2】num/=10;

计算n门课程的平均分,结果作为函数值返回。

例如:

若有5门课程的成绩是:

90.5,72,80,61.5,55,则函数的值为:

71.80。

floatfun(float*a,intn)

floatav=0.0;

inti;

n;

av=av+a[i];

return(av/n);

6◆◆◆◆◆◆◆◆◆◆◆◆◆◆

把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:

字符串的长度大于等于2)。

例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。

【答案】【1】1【1】s[k]【1】c

【改错】下列给定程序中fun函数的功能是:

求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如,a=3,n=6,则以上表达式为:

s=333333-33333-3333-333-33-3其值是296298。

a和n是fun函数的形参,表达式的值作为函数值传回main函数。

【1】longs=0,t=0;

【1】t=t/10;

【编程】编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'

a'

到'

z'

26个小写字母各自出现的次数,并依次放在pp所指的数组中。

例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:

33322110000000000000000000

voidfun(char*tt,intpp[])

26;

 pp[i]=0;

if(*tt>

=′a′&

*tt<

=′z′)

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

7◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。

【1】next【2】t->

data 【3】t

将字符串中的字符逆序输出,但不改变字符串中的内容。

例如,若字符串为abcd,则应输出:

dcba。

【答案】【1】voidfun(char*a)

【2】printf("

%c"

,*a);

比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。

若两个字符长度相同,则返回第一个字符串。

例如,输入beijing<

CR>

shanghai<

(<

为回车键),函数将返回shanghai。

char*fun(char*s,char*t)

s[i]!

=′\0′;

t[j]!

j++);

if(i>

=j) 

returns;

 

else

returnt;

8◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序的功能是:

调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。

在复制的过程中,把复制的内容输出到屏幕。

主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。

【答案】【1】"

r"

【2】fs 【3】ft

将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。

例如,当s中的数为87653142时,t中的数:

8642。

【答案】【1】if(d%2==0)

【2】s/=10;

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

合并的方式是:

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

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

voidfun(inta,intb,long*c)

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

9◆◆◆◆◆◆◆◆◆◆◆◆◆◆

有N×

N矩阵,根据给定的m(m<

=N)值,将每行元素中的值均向右移动m个位置,左位置为0。

例如,N=3,m=2,有下列矩阵

1  2  3

  4  5  6

  7  8  9

  程序执行结果为

  0  0  1

  0  0  4

  0  0  7

【答案】【1】i++ 【2】m 【3】m

计算并输出high以内最大的10个素数的和。

high的值由主函数传给fun函数。

例如,若high的值为100,则函数的值为732。

【1】while((high>

=2)&

(n<

10))

【2】yes=0;

break;

利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。

  xn+1=cos(xn)

  迭代步骤如下:

  

(1)取x1初值为0.0;

  

(2)x0=x1,将x1的值赋给x0;

  (3)x1=cos(x0),求出一个新的x1;

  (4)若x0-x1的绝对值小于0.000001,执行步聚(5),否则执行步聚

(2);

  (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。

  程序将输出结果Root=0.739086。

floatfun()

floatx1=0.0,x0;

do

x0=x1;

x1=cos(x0);

while(fabs(x0-x1)>

=1e-6);

returnx1;

10◆◆◆◆◆◆◆◆◆◆◆◆◆◆

从键盘输入若干行字符串(每行不超过80个字符),写入文件myfile4.txt中,用-1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。

文件的读写分别由函数ReadText和WriteText实现。

【答案】【1】*fw【2】str【3】str

从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。

  例如,当s中的数为7654321时,t中的数为7531。

【1】voidfun(longs,long*t)

【2】s1=s1*10

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

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

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

11◆◆◆◆◆◆◆◆◆◆◆◆◆◆

N矩阵,将矩阵的外围元素做顺时针旋转。

操作顺序是:

首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。

  例如,若N=3,有下列矩阵:

  1  2  3

  4  5  6

  7  8  9

  操作后应为:

  7  4  1

  8  5  2

  9  6  3

【答案】【1】0【2】j--【3】j

计算S=f(-n)+f(-n+1)+…+f(0)+f

(1)+f

(2)+…+f(n)的值。

  例如,当n的值为5时,函数值应为10.407143。

f(x)函数定义如下:

f(x)=(x+1)/(x-2) x>

0且x≠2

f(x)0    x=0或x=2

(x-1)/(x-2) x<

【答案】【1】doublef(doublex)

【2】returns;

【编程】编写函数fun,其功能是计算:

s作为函数值返回。

在C语言中可调用log(n)函数求ln(n)。

log函数的引用说明为:

doublelog(doublex)。

例如,若m的值为20,则fun函数值为6.506583。

doublefun(intm)

doubles=0.0;

for(i=1;

=m;

 s=s+log(i);

returnsqrt(s);

12◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。

删除链表中数据域值相同的结点,使之只保留一个。

【答案】【1】q【2】next【3】next

用选择法对数组中的n个元素进行升序排列。

【答案】【1】p=j;

【2】p=i;

将1到m之间(含m)能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。

例如,若传给m的值为50,则程序输出:

  7 11 14 21 22 28 33 35 42 44 49

voidfun(intm,int*a,int*n)

inti,j=0;

if(i%7==0||i%11==0) 

   a[j++]=i;

*n=j;

13◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】下列给定程序中函数fun的功能是计算下式

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

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

【答案】【1】0【2】i++【3】2.0*i

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

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

"

ABCD"

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

ABCDDCBA"

【1】voidfun(char*s,char*t)【2】t[d+i]=0;

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

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

ABCDEFG12345"

,其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此需要删除;

而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。

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

135"

voidfun(char*s,chart[])

{

inti,j=0,n;

n=strlen(s);

if(i%2!

=0&

s[i]%2!

=0)

 t[j]=s[i];

 j++;

t[j]=′\0′;

14◆◆◆◆◆◆◆◆◆◆◆◆◆◆

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

例如,形参s所指的字符串为def35adh3kjsdf7,执行后结果为def3]

【答案】【1】&

【2】0【3】s[j]

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

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

【1】for(i=2;

i++)

【2】y+=1.0/(i*i);

实现B=A+A'

,即将矩阵A加上A的转置,存放在矩阵B中。

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

例如,输入下面的矩阵:

其转置矩阵为:

    

程序输出:

2  6 10

6 10 14

10 14 18

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

3;

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

15◆◆◆◆◆◆◆◆◆◆◆◆◆◆

将形参s所指字符串中下标为奇数的字符取出,并按ASCII码大小递增排序,将排序后的字符存入形参p所指字符数组中,形成一个新串。

例如,形参s所指的字符为:

baawrskjghzlicda,执行后p所指字符数组中的字符串应为:

aachjlsw。

【答案】【1】t=i【2】I【3】0

用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。

例如,程序运行后,输入0.0001,则程序输出3.1414。

【答案】【1】while(fabs(t)>

=num)

【2】t=s/n;

删除一个字符串中指定下标的字符。

其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存指定的下标。

  例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。

voidfun(chara(),charb(),intn)

inti,k=0;

a[i]!

 if(i!

=n)  

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

b[k]=′\0′;

16◆◆◆◆◆◆◆◆◆◆◆◆◆◆

将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。

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

asd123fgh543df,处理后新字符串为:

asdfghdf123543。

【答案】【1】s[i]【2】k【3】0

将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。

要求t1和t2所指字符串的长度相同。

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

abcdabfabc"

,t1所指串中的内容为"

ab"

,t2所指子串中的内容为"

99"

时,结果在w所指的数组中的内容应为"

abcdabf99c"

【答案】【1】while(*w)

【2】if(*r==*p)

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

当前位置:首页 > 高等教育 > 医学

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

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