二级上机题目集锦.docx
- 文档编号:2316078
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:74
- 大小:60.04KB
二级上机题目集锦.docx
《二级上机题目集锦.docx》由会员分享,可在线阅读,更多相关《二级上机题目集锦.docx(74页珍藏版)》请在冰点文库上搜索。
二级上机题目集锦
1、填空题
1、函数fun的功能是:
计算公式s=3/2^2-5/4^2+...(-1)^n-1(2n+1)/(2n)^2,直到【(2n+1)/(2n)^2】<=10^-3.函数的返回值为0.551690
答案:
(1)3.0
(2)>(3)(t+1)
2、计算公式前n项的和:
s=1*3/2^2+3*5/4^2+...(2n-1)(2n+1)/(2n)^2当n为10时,返回值为9.612558
答案:
0n(t*1)
3、统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
若形参s所指的字符串为abcdef35adgh3kjsdf7则输出结果为4
答案:
s【i】‘0’*t=n
4、若数组中最初排列为:
9,1,4,2,3,6,5,8,7,删除偶数后的数据是:
9,1,3,5,7,返回值为5
答案:
1j++j
5、将形参n中,各位上的为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数。
输入一个整数27638496返回值为64862
答案:
010*xn/10
6、把形参a所指数组中的最小值放在a【0】最大值放在a【1】次小值放在a【2】次大值放在a【3】以此类推最初排列为9,1,4,2,3,6,5,8,7,移动后为1,9,2,8,3,7,4,6,5
答案:
(1)a[i]
(2)a[j] (3)a[j]
7、字符转换。
若形参ch中时字符‘0’~‘9’则将‘0’转换成‘9’,‘1’转换成‘8’....‘9’转换成‘0’;若是其他字符则保持不变。
答案:
(1)char
(2)ch<='9' (3)'0'
8、求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回并把其串长放在形参n所指的变量中。
Ss所指字符串数组中共有M个字符串,且串长小于N。
答案:
(1)M
(2)< (3)k
9、将s所知字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
S所指的字符串为def35adh3kjsdf7,执行后结果为defadhkjsdf3537
答案:
j++s【i】j
10、把形参x的值放入一个新结点并插入链表中使插入后各结点数据域中的数据仍保持递增有序。
答案:
xps
11、将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。
数组中的数据位1,2,3,4,5,6,7,8,9,调换后为6,7,8,9,5,1,2,3,4.
答案:
1ia【p+i】
12、从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。
ss在共有N个字符串,且串长小于M。
答案:
Nkss【i】
13、把形参s所指字符串中下标为奇数的字符移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动。
字符串为abcdefgh,后为ahcbedgf
答案:
1s【k】c
14、在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置,若未找到则返回-1。
Ss有N个字符串,串长小于M
答案:
Ni-1
15、建立了一个带头结点的单向链表,在main函数中多次调用fun函数每调用一次,输出链表尾部结点中的数据,并释放该节点,使链表缩短,
答案:
nextt->datat
16、逆置数组元素中的值。
数据为1,2,3,4,5,6,7,8,9则逆置后依次为9,8,7,6,5,4,3,2,1
答案:
n/2ia【n-1-i】
17、调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值1,失败时返回0.
答案:
”r”fsft
18、有N*N矩阵,根据给定的m(m<=N)值,将每行元素中的值均向右移动m个位置,左位置为0。
答案:
i++mm
19、将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名。
A所指变量为10001、zhangsan、95、80、88,修改后b为10002、lisi、95、80、88
答案:
ab.namescore[i]
20、从键盘输入若干行字符串,写入文件myfile4.txt中,用-1作字符串输入结束的标志
答案:
*fwstrstr
21、有N*N矩阵,将矩阵的外围元素作顺时针旋转。
操作顺序是:
首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。
答案:
0j--j
22、在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串,并输出,若没找到则输出相应信息。
答案:
Nsubstr0
23、计算一个带头结点的单向链表中各结点的数据域中数值之和,结果作为函数值返回
答案:
datanexthead
24、将形参a所指结构体变量s中的数据进行修改,并把a的地址作为函数值返回主函数。
10001,zhangsan,95,80,88.修改后10002,lisi,96,81,89
答案:
structstudengt*a->score[i]a
25、将N*N矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换
答案:
t[][N]i=0;i 26、找出100~999所有整数中各位上数字之和为x的整数。 符合条件的整数个数作为函数值返回 答案: 999t/10x 27、10002、zhangsan、93、85、87,修改后10004、lijie、93、85、87 答案: ->sno->name&t 28、建立一个带头结点的单向链表。 删除链表中数据域值相同的结点 答案: qnextnext 29、有N*N矩阵,以主对角线为对称线,对称元素相加并将结果存放于左下角元素中,右上角元素置为0 答案: [N]t[i][j]t[j][i] 30、从文件中找到指定学号的学生数据,对该学生的分数进行修改,使每门课的分数加3分,如找不到,则不做操作。 答案: fp==fp 31、计算公式s=1*3/2^2-3*5/4^2+...+(-1)^n-1(2n-1)(2n+1)/(2n)^2,当n为10时函数返回-0.204491 答案: 12*i(-1) 32、计算s=1/2^2+3/4^2+....+(2n-1)/(2n)^2,直到【(2n+1)/(2n)^2】<=10^-3.返回值为2.985678 答案: 0i++2.0*i 33、在形参s所指字符串中的每个数字字符之后插入一个*号。 例如def35adh3kjsdf7,执行后为def3*5*adh3*kjsdf7* 答案: &&0s[j] 34、将不带头结点的单向链表逆置,原链表为2、4、6、8、10,逆置后为10、8、6、4、2 答案: NODEnextr 35、10001、ZhangSan、95、80、88,修改后10002、LiSi、96、81、89 答案: structstudenta.namea.score[i] 36、将带头结点的单向链表逆置,原链表为2、4、6、8、10,逆置后为10、8、6、4、2 答案: nextNULLr 37、将形参s所指字符串中下标为奇数的字符取出,并按ASCII码大小递增排序,将排序后的字符存入形参p所指字符数组中。 答案: t=ii‘\0’ 38、将不带头结点的单向链表结点数据域中的数据从小到大排序,先10、4、2、8、6,后2、4、6、8、10 答案: p->nextqp->next 39、将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。 答案: FILE*fpch 40、在形参s所知字符串中寻找参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不作任何处理。 Baacda,c中的字符为a,执行后为baaaacdaa 答案: ’\0’0c 41、将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回 答案: s[i]k‘\0’ 42、将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数, 答案: FILE*fclose(fp)fp 43、计算N*N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。 要求先累加主对角线元素中的值 答案: sum=0t[i][i]1 44、找出100~x(x<=999)之间各位上的数字之和为15的所有整数,将符合条件的整数的个数作为的函数值返回 答案: 0xt++ 45、在形参ss所指字符串数组中,将所有串长超过k的字符串中后面的字符删除,只保留前面的k个字符 答案: [M]N‘\0’ 46、将自然数1~10及其平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。 答案: fpfclose(fp)fname 47、将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量 答案: 100x 48、将N*N矩阵中元素的值按列向右移动1个位置,右边被移出矩阵的元素绕回左边第一列。 答案: NN-10 49、把形参a所指数组中的最大值放在a【0】中,接着求出a所指数组中的最小值放在a【1】中,以此类推。 答案: a[]2i+1 50、在带头结点的单向链表中,查找数据域中值为ch的结点。 找到后通过函数值返回该结点在链表中所在的顺序号;若不存在值为ch的结点,函数返回0值 答案: NULLnhead,ch 51、将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新数,返回 答案: 1s>0i*10 52、把形参a所指数组中的偶数按原顺序依次放到a【0】、a【1】。 。 。 中,把奇数从数组中删除,偶数的个数通过函数值返回 答案: a[i]%2a[i]j 53、统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中 答案: *nnexthead 54、调用fun函数建立班级通信录。 班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中 答案: STYPEFILEfp 55、通过定义学生结构体数组,存储若干名学生的学号、姓名和三门课的成绩。 将存放学生数据的结构体数组,按姓名的字典(从小到大)排序 答案: structstudentn-1a[i].name,a[j].name 56、人员的记录由编号和出生年月日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。 找出指定的编号人员的数据,作为函数值返回,由主函数输出 答案: STUstd[i].numstd[i] 57、人员的记录由编号和出生年月日组成,N名人员的数据已在主函数中存入结构体数组std中。 找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数 答案: std[i].yearstd[i]n 58、通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和三门课的成绩。 将该学生的各科成绩都乘以一个系数a 答案: STUscore[i]&std 59、将形参指针所指结构体数组中的三个元素按num成员进行升序排列 答案: std[]PERSONstd 60、将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出 答案: std[0]std[i].agemax.name 61、通过定义并赋初值的方式,利用结构体变量存储了一名名学生的信息。 输出这位学生的信息 答案: tttt.score[i]std 62、对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。 Ss所指字符串数组中共有M个字符串,串长小于N 答案: i+1k=jt 63、求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。 字符串数组中共有M个字符串,串长小于N 答案: klenss[i][j] 64、求出形参ss所指字符串数组中最长字符串的长度,其余字符串右边用字符*补齐,使其与最长的字符串等长。 字符串数组中共有M个字符串,串长小于N 答案: ss[i]n+j1 65、求出形参ss所指字符串数组中最长字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。 Ss所指字符串数组中共有M个字符串,串长小于N 答案: [N]len*n=len 66、字母转换。 若形参ch中是小写英文字母,则转换成对应的大写英文字母,大写则换成小写;若是其他字符则保持不变;并转换后的结果作为函数值返回 答案: &&‘A’ch 67、计算f(x)=1+x-x^2/2! +x^3/3! -x^4/4! +……+(-1)^n-2x^n-1/(n-1)! +(-1)^n-1x^n/n! 的前n项之和,若x=2.5,n=15时,函数值为1.917914 答案: 1.0-1t 68、计算f(x)=1+x-x^2/2! +x^3/3! -x^4/4! +……+(-1)^n-2x^n-1/(n-1)! +(-1)^n-1x^n/n! 直到【x^n/n! 】<10^-6,若x=2.5,函数值为1.917915 答案: xnfabs(t) 69、计算f(x)=1+x+x^2/2! +x^3/3! +x^4/4! +……+x^n/n! 的前n项。 若x=2.5,函数值为12.182340 答案: 1.01i 70、计算f(x)=1+x+x^2/2! +x^3/3! +x^4/4! +……+x^n/n! 直到【x^n/n! 】<10^-6,若x=2.5,函数值为12.182494 答案: xnt 71、统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回 答案: (1)j=2 (2)i (3)j 72、统计长整数n的各位上出现数字1、2、3的次数,并用外部变量c1、c2、c3返回主函数 答案: (1)n%10 (2)break (3)break 73、用筛选法可得到2~n(n<10000)的所有素数,方法是: 。 。 。 用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回 答案: (1)a[i] (2)a[i] (3)0 74、甲乙丙丁4人同时放鞭炮,甲每隔t1s放一次,乙每隔t2s放一次,丙每隔t3s放一次,丁每隔t4s放一次,每人各放n次。 根据形参炸响,只算一次响声,第一次响声是在第0s若t1=7,t2=5,t3=6,t4=4,n=10,则总共可听到28次鞭炮声 答案: (1)i (2)t++ (3)count 75、从三个形参a、b、c中找到中间的数,并作为函数值返回。 当3、5、4时,中间的数4 答案: (1)a (2)a (3)b 76、通过定义学生的结构体变量,存储了学生的学号、姓名和三门课的成绩。 所有学生数据均以二进制方式输出到文件中。 重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变 答案: (1)filename (2)fp (3)fp 77、计算形参x所指数组中N个数的平均值,作为函数值返回,并将大于平均值的数放在形参y所指数组中,在主函数中输出。 答案: (1)0.0 (2)x[i]/N (3)j++ 78、计算x所指数组中N个数的平均值,平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并在主函数中输出 答案: (1)*av (2)i (3)x[j] 79、计算形参x所指数组中N个数的平均值,将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据 答案: (1)s/N (2)j++ (3)-1 80、计算形参x所指数组中N个数的平均值,将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据 答案: (1)x[i]/N (2)j++或++j (3)i++或++i 81、将a和b所指的两个字符串分别转换成面值相同的整数,,并进行相加作为函数返回,规定字符串中只含9个数字字符 答案: (1)'0' (2)s++或++s (3)ctod(a)+ctod(b) 82、调用随机函数产生20个互不相同的整数放在形参a所指数组中 答案: (1)N或20 (2)break (3)n 83、找出N*N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中 答案: (1)a[0][i] (2)< (3)x,y 84、建立一个N*N的矩阵。 矩阵的构成规律是: 最外层元素的值全部为1;从外向内第二层元素的值全部为2;第三层元素的值全部为3,……依次类推 答案: (1)[N] (2)i (3)i+1 85、判定形参a所指的N*N(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1;若不是,函数返回值为0.幻方: 矩阵每行、每列、主对角线及反对角线的元素之和相等 答案: (1)0 (2)|| (3)1 86、用函数指针指向要调用的函数,并进行调用。 规定在【2】处使f指向f1,在【3】处使f指向函数f2.当调用正确时,输出: x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000 答案: (1)double (2)f1 (3)f2 87、将带头结点的单向链表结点数据域中的数据从小到大排序。 即若原链表结点数据域从头到尾的数据位: 10、4、2、8、6,排序后链表结点数据域从头到尾的数据2、4、6、8、10 答案: (1)h->next (2)p->next (3)> 88、将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回 答案: (1)j (2)k (3)p或(p) 89、将a所指4*3矩阵中第k行的元素与第0行元素交换 答案: (1)k (2)N (3)a[k][i] 90、将a所指3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边 答案: (1)k (2)N-1 (3)temp 91、在3*4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息 答案: (1)j (2)0 (3)i++ 92、把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。 若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。 答案: (1)t,s (2)s[i] (3)0或'\0' 93、判断形参s所指字符串是否是“回文”,若是,函数返回值为1;不是,函数返回值为0.“回文”是正读和反读都一样的字符串 答案: (1)s (2)-- (3)return0 94、计算出形参s所指字符串中包含的单词个数,作为函数值返回。 答案: (1)n++ (2)0 (3)s++ 95、将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回 答案: (1)*s (2)s++ (3)n 96、将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回 答案: (1)48 (2)s++ (3)sum 97、找出形参s所指字符串中出现频率最高的字母(不分大小写),并统计出其出现的次数 答案: (1)*s (2)1 (3)k[n] 98、利用指针数值对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。 Ss所指字符串数组中共有N个字符串,串长小于M 答案: (1)i (2)ps[j] (3)tp 99、根据形参i的值返回某个函数的值。 当调用正确时,输出: x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000 答案: (1)double (2)f1 (3)f2 100、通过定义学生的结构体变量,存储了学生的学号、姓名和三门课的成绩。 所有学生数据均以二进制方式输出到文件中。 从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容 答案: (1)"r" (2)> (3)fwrite 101、在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回 答案: (1)b[k] (2)4或N/2(3)< 102、输出a所指数组中的前n个数据,要求每行输出5个数 答案: (1)i%5 (2)\n(3)a[i] 103、已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符。 将三个结点链接成一个单向链表,并输出链表结点中的数据 答案: (1)pb (2)p->data(3)p->next 104、围绕山顶一圈有N个山洞,狐狸和兔子。 。 。 。 。 。 。 。 答案: (1)0 (2)t(3)i+t 105、统计整型变量m中各数字出现的次数,并存放到数组b中 答案: (1)a[i] (2)m%10(3)m/10 2、 改错题 1、求出如下分数序列的前n项之和,和值通过函数值返回。 2/1、3/2、5/3、8/5、13/8、…… 答案: (1)doublefun(intn) (2)s=s+(double)a/b; 2、统计substr所指的字符串在str所指的字符串中出现的次数 (1)for(i=0;str[i];i++) (2)if(substr[k+1]=='\0') 3、实现两个变量值的交换,规定不允许增加语句和表达式 (1)t=*x;*x=y; (2)return(t);或returnt; 4、求两个非零正整数的最大公约数,并作为函数值返回 (1)t=a;a=b;b=t; (2)return(b);或returnb; 5、将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。 顺序不变 (1)*t=0; (2)if(d%2! =0)或if(d%2==1) 6、用递归算法计算斐波拉契数列中第n项的值。 从第1项起,斐波拉契数列为1,1,2,3,5,8,13,21 (1)去掉分号 (2)case1: case2: return1; 7、将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格 (1)b[k]=*p; (2)b[k]='';k++; 8、将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变 (1)if((tt[i]>='a')&&(tt[i]<='z')) (2)tt[i]-=32; 9、用冒泡法对6个字符串进行升序排列 (1)for(j=i+1;j<6;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 上机 题目 集锦
![提示](https://static.bingdoc.com/images/bang_tan.gif)