二级上机题库100.docx
《二级上机题库100.docx》由会员分享,可在线阅读,更多相关《二级上机题库100.docx(71页珍藏版)》请在冰豆网上搜索。
![二级上机题库100.docx](https://file1.bdocx.com/fileroot1/2022-11/21/c33d4416-15ae-4f02-9c6f-7c0b9b14e364/c33d4416-15ae-4f02-9c6f-7c0b9b14e3641.gif)
二级上机题库100
一、填空y
1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。
当调用正确时,程
序输出:
x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000
答案:
(1)double
(2)f1(3)f2
2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。
函数
fun的功能是将学生数据的结构体数组,按照姓名的字典序(从小到大)排序。
答案:
(1)structstudent
(2)n-1(3)a[i].name,a[j].name
3、给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值(规定所有数
均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
例如,有10个正数:
4630324061745154826,平均值为u:
30.500000
主函数中输出:
4632404548
答案:
(1)0
(2)x[i]/N(3)j++
4、给定程序中,函数fun的功能是:
将a所指4x3矩阵中第k行的元素与第0行元素交换。
例如,有下列矩阵:
123
456
789
101112
若k为2,程序执行结果为:
789
456
123
101112
答案:
(1)k
(2)N(3)a[k][i]
5、给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并
进行相加作为函数值返回,规定字符串中只含9个以下数字字符。
例如,主函数中输入字符串:
32486和12345,在主函数中输出的函数值为:
44831.
答案:
(1)`0`
(2)s++(3)ctod(a)+ctod(b)
6、给定程序中,函数fun的功能是:
计算下式前n项的和作为函数值返回。
S=
例如,当形参n的值为10时,函数返回:
9.612558。
答案:
(1)0
(2)n(3)(t*t)
7、给定程序中,函数fun的功能是:
在3x4的矩阵中找出在行上最大、在列上最小的那个
元素,若没有符合条件的元素则输出相应信息。
例如,有下列矩阵:
12134
78106
3597
程序执行结果为:
find:
a[2][2]=9
答案:
(1)j
(2)0(3)i++
8、给定程序中,函数fun的功能是:
在形参ss所指字符串数组中,删除所有串长超过k的
字符串,函数返回所剩字符串的个数。
Ss所指字符串数组中共有N个字符串,且串长小于M。
答案:
(1)N
(2)k(3)ss[i]
9、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
函数fun的
功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。
例如:
a所指变量中的学号、姓名和3门课的成绩依次是:
10001、“Zhangsan”、95、80、88,则修改后输出b中的数据为:
10002、“Lisi”、95、80、88。
答案:
(1)a
(2)b.name(3)score[i]
10、给定程序中,函数fun的功能是:
在形参ss所指字符串数中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。
Ss所指字符串数组中共有N个字符串,且串长小于M。
答案:
(1)[M]
(2)N(3)0
11、给定程序中,函数fun的功能是:
把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。
若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。
例如,形参s所指的字符串为:
abcdefgh,n的值为5,程序执行后t所指字符数组中的字符串应为:
defgh。
答案:
(1)t,s
(2)s[i](3)0
12、给定程序中,函数fun的功能是;将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
例如,s所指字符串为:
asd123fgh5##43df,处理后新字符串为:
123543asdfgh##df。
答案:
(1)j
(2)k(3)p
13、给定程序中,函数fun的功能是:
找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一个正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。
例如,当x值为5时,100~999之间各位汕头港数字之和为5的整数有104、113、122、131、140、203、212、221、230、302、311、320、401、410、500共有15个。
当x值为27时,各位上数字之和为27的整数是:
999。
只有一个。
答案:
(1)999
(2)t/10(3)x
14、给定程序中,函数fun的功能是:
将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。
例如,形参s所指的字符串为abs5def126jkm8,程序执行后的输出结果为:
22。
答案:
(1)48
(2)s++(3)sum
15、给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。
即若原链表结点数据域从头至尾的数据为:
10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:
2、4、6、8、10。
答案:
(1)h->next
(2)p->next(3)>=
16、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。
例如,a所指变量s中的学号、姓名和三门课的成绩依次是:
10001、“ZhangSan”、95、80、88,修改后输出t中的数据应为:
10002、“LiSi”、96、81、89。
答案:
(1)structstudent*
(2)a->score[i](3)a
17、给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:
4630324061745154826,平均值为:
30.500000。
移动后的输出为:
4632404548306171526
答案:
(1)s/N
(2)j++(3)-1
18、给定程序中,函数fun的功能是:
计算出形参s所指字符串中包含的单词个数,作为函数值返回。
为便于统计,规定各单词之间用空格隔开。
例如,形参s所指的字符串为:
ThisisaClanguageprogram.,函数的返回值为6。
答案:
(1)n++
(2)0(3)s++
19、给定程序中,函数fun的功能是:
在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。
Ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。
答案:
(1)N
(2)i(3)-1
20、给定程序中,函数fun的功能是:
找出NxN矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
答案:
(1)a[o][i]
(2)<(3)x,y
21、给定程序中,函数fun的功能是:
判断形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。
“回文”是正读和反读都一样的字符串(不区分大小写字母)。
例如,LEVEL和Level是“回文”,而LEVLEV不是“回文”。
答案:
(1)s
(2)--(3)retun0
22、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所以学生数据均以二进制方式输出到student.dat文件中。
函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据覆盖原数据,其他学生数据不变;若找不到,则什么都不做。
答案:
(1)feof(fp)
(2)==sno(3)sizeof(STU)
23、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。
例如:
b所指变量t中的学号、姓名和3门课的成绩依次是:
10002、“ZhangQi”、93、85、87,修改后输出t中的数据应为:
10004、“LiJie”、93、85、87。
答案:
(1)->sno
(2)->name(3)&t
24、给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:
4630324061745154826,平均值为:
30.500000。
移动后的输出为:
3061715264632404548
答案:
(1)x[i]/N
(2)j++(3)i++
25、给定程序中,函数fun的功能是计算下式,并把计算结果作为函数值返回。
例如,若行参e的值为1e-3,函数的返回值2.735678。
答案:
(1)0
(2)i++(3)2.*i
26、给定程序中,函数fun的功能是建立一个NxN的矩阵。
矩阵元素的构成规律是:
最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,……以此类推。
例如,若N=5,生成的矩阵为:
11111
12221
12321
12221
11111
答案:
(1)[N]
(2)i(3)i+1
27、给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。
规定在—2—处使f指向函数f1,在—3—处使f指向函数f2。
当调用正确时,程序输出:
x1=5.000000x2=3.000000,x1*x1+x1*x2=40.000000
答案:
(1)double
(2)f1(3)f2
28、给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读人,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
答案:
(1)FILE*
(2)fclose(fp)(3)fp
29、给定程序中,函数fun的功能是:
计算下式前n项的和作为函数值返回。
例如,当形参n的值为10时,函数返回:
-0.204491。
答案:
(1)1
(2)2*i(3)(-1)
30、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
答案:
(1)filename
(2)SEEK_END(3)&n
31、给定程序中,函数fun的功能是:
计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。
例如,有10个正数:
4630324061745154826,平均值为:
30.500000。
主函数中输出:
m=30.0
答案:
(1)*av
(2)i(3)x[j]
32、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读人并显示在终端屏幕上。
答案:
(1)FILE*
(2)fp(3)ch
33、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。
例如:
传给形参a的数据中,学号、姓名和3门课的成绩依次是10001、“ZhangSan”、95、80、88,修改后的数据应为:
10002、“LiSi”、96、81、89。
答案:
(1)structstudent
(2)a.name(3)a,score[i]
34、给定程序中,函数fun的功能是:
利用指针数组对形参ss所指字符串数组字符串按由长到短的顺序排序,并输出排序结果。
Ss所指字符串数组中共有N个字符串,且串长小于M。
答案:
(1)i
(2)ps[i](3)tp
35、、给定程序中,函数fun的功能是;将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
例如,s所指字符串为:
asd123fgh543df,处理后新字符串为:
asdfghdf12543。
答案:
(1)s[j]
(2)k(3)0
36、给定程序中,函数fun的功能中计算下式,并把计算结果作为函数值返回。
例如:
若形参e的值为1e-3,函数的返回值为0.551690。
答案:
(1)3.
(2)>(3)(2*i+1)
37、给定程序中,函数fun的功能是:
将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:
27638496,新的数为739。
答案:
(1)3.
(2)>(3)(2*i+1)
38、给定程序中,函数fun的功能是:
找出100至x(x≤999)之间各位上的数字和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。
例如,当n值为500时,各位数字之和为15的整数有:
159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。
共有26个。
答案:
(1)0
(2)x(3)t++
39、程序中,函数fun的功能是:
判定形参a所指的NxN(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1;不是,函数返回值为0。
“幻方”的判定条件是:
矩阵每行、每列、主对角线及反对角线上元素之和都相等。
例如,以下3x3的矩阵就是一个“幻方”:
492
357
816
答案:
(1)0
(2)||(3)1
40、程序中,函数fun的功能是:
将a所指3x5矩阵中第k列的元素左移到第O列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。
例如,有下列矩阵:
12345
12345
12345
若k为2,程序执行结果为
34512
34512
34512
答案:
(1)k-1
(2)N-1(3)temp
41、程序中,函数fun的功能是:
调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。
答案:
(1)N
(2)break(3)n
42、程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。
即若原链表结点数据域从头至尾的数据为:
10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:
2、4、6、8、10。
答案:
(1)p->next
(2)q(3)p->next
43、程序中,函数fun的功能是将带头结点的单向链表逆置。
即若原链表中从头至尾结点数据域依次为:
2、4、6、8、10,逆置后,从头至尾结点数据域依次为:
10、8、6、4、2。
答案:
(1)h->next
(2)p==0(3)r
44、程序中,函数fun的功能是:
将形参n中,各位上为偶数的数取出,并按原来从高到低位相反的顺序组成一个新的数,并作为函数值返回。
例如,输入一个整数:
27638496,函数返回值为:
64862。
答案:
(1)0
(2)10*x(3)n/10
45、程序中,函数fun的功能是:
在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。
ss所指字符串数组中共有N个字符串,且串长小于M。
程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串。
若没有,函数值为0;若有,为非0。
答案:
(1)N
(2)substr(3)0
46、程序中,函数fun的功能是:
将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。
例如,从主函数输入一个整数:
27638496,函数返回值为:
26846。
答案:
(1)1
(2)s(3)i*10
47、通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
答案:
(1)”rb”
(2)>s[j].sno(3)fwrite
48、程序中,函数fun的功能是:
找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。
例如,形参s所指的字符串为:
abcAbsmaxless,程序执行后的输出结果为:
letter`a`:
3times
letter`s`:
3times
答案:
(1)*s
(2)1(3)k[n]
49、程序中,函数fun的功能是:
将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。
例如,形参s所指的字符串为:
Abc@x56*,程序执行后t所指字符数组中的字符串应为:
A@156*。
答案:
(1)*s
(2)s++(3)n
50、程序中,函数fun的功能是将不带头结点的单向链表逆置。
即若原链表中从头至尾结点数据域依次为:
2、4、6、8、10,逆置后,从头至尾结点数据域依次为:
10、8、6、4、2。
答案:
(1)NODE*
(2)q(3)r
51、通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
函数fun的功能是形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。
例如:
b所指变量t中的学号、姓名和3门课的成绩依次是:
10002、“ZhangQi”、93、85、87,修改后输出t中的数据应为:
10004、“LiiJie”、93、85、87。
答案:
(1)->sno
(2)->name(3)&t
52、程序中,函数fun的功能是计算下式,并把计算结果作为函数值返回。
答案:
(1)0
(2)i++(3)2.*i
53、程序中,函数fun的功能是:
将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
例如,形参s所指的字符串为:
def35adh3kjsdf7。
执行结果为:
defadhkjsdf3537。
答案:
(1)j++
(2)s[i]=t1[i](3)j
54、程序中,函数fun的功能是:
有NxN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。
例如,若N=3,有下列矩阵:
123
456
789
计算结果为
100
650
10149
答案:
(1)[N]
(2)t[i][i](3)t[j][i]
55、程序中,函数fun的功能是:
对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为:
baawrskjghzlicda,执行后p所指字符数组中的字符串应为:
aachjlsw。
答案:
(1)t=i
(2)i(3)0
56、程序中已建立一个带有头结点的单向链表,在main函数中将有多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
答案:
(1)next
(2)t->data(3)t
57、给定程序中,函数fun的功能是:
计算NxN矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。
注意:
要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。
例如,若N=3,有下列矩阵:
123
456
789
fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。
答案:
(1)sum=0
(2)t[i][i](3)1
58、给定程序中,函数fun的功能是:
找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一个正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。
例如,当x值为5时,100~999之间各位上数字之和为5的整数有:
104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。
共有15个。
当x值为27时,各位数字之和为27的整数是:
999。
只有1个。
答案:
(1)999
(2)t/10(3)x
59、给定程序中,函数fun的功能是:
将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:
27638496,新的数为739。
答案:
(1)10
(2)0(3)x
60、给定程序中,函数fun的功能是:
将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。
答案:
(1)0
(2)10*x(3)n/10
61、函数fun的功能是:
把形参a所指数组中的奇数按原顺序依次存放到a[0],a[1],a[2],……中,创建新的字符串保存偶数数据。
奇数个数通过函数值返回。
例如:
若a所指数组中的数据最初排列为:
9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:
9、1、3、5、7,返回值为5。
答案:
(1)1
(2)j++(3)j
62、给定程序中,函数fun的功能是:
求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。
ss所指字符串数组中共有M个字符串,且串长答案:
(1)M
(2)<(3)k
63、给定程序的功能是:
从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。
然后将文件的内容读出显示在屏幕上。
文件的读写分别由自定义函数ReadText和WriteText实现。
答案:
(1)*fw
(2)str(3)str
64、函数fun的功能是:
将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
例如:
若a所指数组中的数据依次为:
1、2、3、4、5、6、7、8、9,则调换后为:
6、7、8、9、5、1、2、3、4。
答案:
(1)1
(2)i(