一、A类程序设计题
1、求一个4x4矩阵对角线元素之和。
2、用数组的方法求Fibonacci数列的值(要求输出前20个数)。
3、将一个3x4矩阵转置(行列互换)存放。
4、将一个数组中的数按逆序存放,例如原来的顺序为8,7,6,4,2,要求改为2,4,6,7,8。
5、用选择法对10个整数进行降序排序。
6、用冒泡法对10个整数进行升序排序。
7、编写一个简单程序,要求:(1)从键盘上输入8个整数放入数组a[8]中(用for循环实现);(2)求出数组元素的最大值及数组的平均值。
8、求3×4矩阵中每一列元素的最大值并输出。
9、求4×4矩阵中每一行元素的最小值并输出。
10、某班有30个学生,进行了数学考试,编写程序将考试成绩输入一维数组,并求数学的平均成绩及不及格学生的人数。
11、有一个3x4矩阵,求出最大元素,以及其所在的行号和列号。
12、从键盘上输入10个实数,然后按输入顺序的逆序输出这10个数。
13、从键盘输入10个整数,出其中最大值和最小值。
14、输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。
15、输入字符串 s,统计出 s 中共出现了多少个数字字符。
二、B类程序设计题
1、对一个已按由小到大排好顺序的整型数组,若从键盘输入一个数x,现要查询该数是否在此整型数组中,若存在则删除该数,否则显示“不存在”信息。
2、对一个已按由小到大排好顺序的整型数组,若从键盘输入一个数x,现要将该数插入到该数组中,使其插入后整个数组排序规律不变。
3、编写一程序,要求从键盘上输入10个整数放入一个数组中(用for循环实现),并编
写求最大值的函数max,在主程序调用这个函数实现输出数组中10个整数的最大值,要求用数组名作为函数参数。
4、输入一个4行4列的二维数组,编程实现:
(1) 求出其中的最大值和最小值及其对应的行列位置;
(2) 求出对角线上各元素之和。
5、用筛选法求100之内的素数。
6、对一个整形数组进行由小到大排序。要求:用函数调用实现排序过程。
7、将一个数组中的元素按逆序存放。要求:用函数调用实现。
8、编写一个strlen函数,它能对一个字符串测出其长度,函数返回值就是字符串的长度(说明:长度不包括字符串结束标志’\0’)。
9、设有5 行5 列的数组b,其元素b[i][j]=2*i+3*j-8(i、j = 0,1,2,3,4)。 编写程序实现:
(1) 求第4 行的5 个元素之累加和。
(2) 求第5 列的5 个元素之平均值。
(3) 求主对角线(“\”状对角线)以及反斜对角线(“/”状对角线)上各有多少个负数。、
10、不用strcat函数,将两个字符串连接起来。
11、打印出以下的杨辉三角形(要求打印出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
12、对于一个二维数组,分别求各行、各列及所有元素之和。
13、有一行电文,已按如下规律译成密码:第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母……非字母字符不变。要求将密码译回原文,并打印出密码和原文。
14、有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
15、输入n个字符串,把其中以字母A打头的字符串输出。
16、编写一个程序,将字符数组S2中的全部字符拷贝到字符数组S1中。不用strcpy函数。拷贝时,‘\0’也要拷贝过去,‘\0’后面的字符不拷贝。
17、按照如下方式从头到尾逐字符地对输入字符串 is 进行处理,以生成输出字符串 os 并作为结果输出:
(1)若 is的当前字符不是数字字符,则将该字符复制到结果串 os 中;
(2) 若is的当前字符是一个数字字符,且假设其大小值为 n,则将该数字字符替换为n+1 个相关字母存放到结果串 os 中:字符 0 替换为 1 个 a,字符 1 替换为 2 个 b,字符 2 替换为 3 个c,...,字符9替换为 10 个j。
例如:当输入字符串为“s1k02”时,输出字符串应为“sbbkaccc” ;
输入的 is 为“abc5uf20t”时,输出字符串 os 应为“abcffffffufcccat” 。
18、假设对整型数组 a、b、t 已按下述方式进行了说明并对 a 赋了初值:
int a[8]={2, 33, -6, 5, -82, 30, 99, 21}, b[8], t[8][8];
编程序实现:
(1)挑选 a中的某些数按如下顺序依次放入数组 b 中:先挑选所有负数放入 b;再挑选所有正数中是 3 的倍数的奇数放入 b;最后将 b 的其它元素(即尚未被赋予 a 元素值的那些元素)均置为 0。
(2)将 a 数组中的 8 个数依次赋给 t 数组的首列各元素(即:t[0][0]=a[0];t[1][0]=a[1];...) ,将 b 数组中的 8个数依次赋给 t 数组的末列(第 8 列)各元素,并将其它各列的 t[i][j]赋值为 i-j+3。
(3)在屏幕上输出 a、b、t 各数组元素的具体值。
19、将输入的 2进制数(一个非“0”即“1”的字符串)化为 10进制数并输出结果。
20、编写程序,在有序的数组中查某数,若该数在此数组中,则输出它所在的位置,否则输出 no found。
21、定义一个含有30个元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每5个数求一个平均值,放在另一个数组中并输出。
22、在5行5列的二维数组中查第一次出现的负数。
23、输入字符串s,求s中相邻字母对(比如ab)出现的次数。
24、定义数组 int a[4][6]、b[4][6]、 c[4][6],并完成以下操作:
(1)从键盘上输入数据给数组a、b。
(2)将数组a和数组b各对应元素作比较,如果相等,则数组c的对应元素为0;若前者大于后者,则数组c的对应元素为1;若前者小于后者,则数组c的对应元素为-1。
(3)输出数组c各元素的值。
25、在电视歌手大奖赛时,有10个评委评分。从键盘输入10个评委给某歌手的评分,要求出10个评委中哪一个给了最低分,哪一个给了最高分。去掉一个最低分并去掉一个最高分后剩下的八个评分的平均值为该歌手的最后得分,求该歌手的最后得分。
字符串转数组去除空格26、输入10个整数,判断它们是否为素数。要求:编写一个函数int prime(int m)来判断形参变量m是否为素数,如果是素数则返回1,否则返回0。
27、输入一段英文,将其格式化后输出。
格式化的要求是:
(1) 每一个单词首字母大写,其余字母小写;
(2) 所有标点符号(. , ! ?)均改为句号;
(1) 每一个单词首字母大写,其余字母小写;
(2) 所有标点符号(. , ! ?)均改为句号;
(3) 非英文字母作为非法字母去除。
如输入:i am a 54stuDe#Nt12, right?
则输出:I Am A Student. Right.
如输入:i am a 54stuDe#Nt12, right?
则输出:I Am A Student. Right.
28、有4个学生5门课程的成绩存放在数组score[4][5]中,编写两个函数分别求第m个学生5门课程的平均成绩和第n门课4个学生的平均成绩,主函数中只实现数据的输入和输出,其中m和n的值也在主函数中输入。
三、C类程序设计题
1、用冒泡排序法对输入的10个数进行降序排序并存入数组中。然后输入一个数,查该数是否在数组中存在,若存在,打印出该数在数组中对应的下标值。
2、输入一个4x5的二维数组,请编程实现如下转换。
原矩阵 转换后矩阵
a34 a33 a32 a31 a30
a24 a23 a22 a21 a20
a14 a13 a12 a11 a10
a04 a03 a02 a01 a00
a00 a01 a02 a03 a04
a10 a11 a12 a13 a14
a20 a21 a22 a23 a24
a30 a31 a32 a33 a34
3、从键盘输入20个数,要求写一函数实现逆序处理,并按每行5个数输出。
4、写一函数,使输入的一个字符串按逆序存放,要求在主函数中输入、输出字符串,函数中实现数据的逆序处理。
5、输入n个字符串,要求按由小到大顺序输出。
6、采用函数的递归编程,实现求一个整型数组20个元素中的最大值 。递归函数原型为:int max(int a[],int n)。最后编制主函数,对max函数进行调用,以验证其正确性。
7、从键盘输入两个字符串a和b,要求不用库函数 strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。
8、编程序,实现如下功能:
(1)按如下方式说明数组x 与y
const int k=8;
int x[k], y[k];
(2)键盘输入k 个整数到数组x 中。
(3)计算x 中k 个数的平均值ave 及大于平均值的元素个数n 并输出。
(4)将数组x 中的k 个数放入数组y 中,但不重复放(一个数只放一次),而后输出y的这些有效元素。
例如,程序执行后的输入输出界面可设计为:
x=? 23 55 -6 0 23 23 0 -12
ave=13.25
n=4
y= 23 55 -6 0 -12
9、编写程序,实现str=str1+str2的操作,此处运算符“+”表示将二个字符串str1、str2连接成一个字符串str。用键盘将二个字符串输入字符数组str1与str2中,连接后的字符串存放在字符数组str中,并输出连接后的字符串str。
(1)用C++提供的字符串处理函数完成上述要求。
(2)不用C++提供的字符串处理函数完成上述要求。
10、输入一行字符,统计其中有多少个单词。
11、输入3个字符串,出其中最大者。
12、出一个二维数组中的鞍点,即该位置的元素在该行上最大,在该列上最小(也可能没有鞍点)。
13、给出年、月、日,计算该日是该年的第几天。
14、有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查法出该数是数组中的第几个元素的值。如果该数不在数组中,则打印出“无此数”。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论