C语言习题集及答案(7)

2018-12-20 10:12

scanf(\ for (i=0;i

{ for (j=0;j

printf(\ (2) ;

}

flag2=0;

for (i=0;i

{ max= (3) ; for (j=1;jmax) max=a[i][j]; for (j=0;j

if (!flag2)

printf(\矩阵中无鞍点!\\n\ }

四、 编程

1. 有一个正整数数组,包含N个元素,要求编程求出其中的素数之和以及所有素数的

平均值。

2. 有一个数组,内放10个整数。要求找出最小的数和它的下标,然后把它和数组中最

前面的元素对换位置。

3. 有 N个数已按由小到大的顺序排好,要求输入一个数, 把它插入到原有序列中,而

30

且仍然保持有序。

4. 输入N个数到数组中,输出所有大于N个数平均值的数。

5. 输入N个数到数组中,选出其中最大的数和最小的数,并分别将它们与最前面和最

后面的数互换。

6. 用选择法对10个整数由大到小排序。

7. 用筛选法求 2到 100之间的素数。方法如下:首先 2是素数,凡 2 的倍数都不是

素数,于是把这些数从数表中筛去, 2以后没有被筛去的第一个数是 3, 然后把 3的倍数都从数表中筛去, 3以后没被筛去的第一个数是 5,然后把 5 的倍数都从数表中筛去。如此下去,直到遇到某数 K(≤ N),其后没有数可筛选为止, 这时保留下的未被筛去的数就是 2到 N的素数。

8. 求一个 3×3矩阵两条对角线上元素之和(每个元素只加一次)。 9. 打印如下形式的杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

输出前10行,从 0行开始,分别用一维数组和二维数组实现。

10. 有一个二维数组整型数组中,每一行都有一个最大值,编程求出这些最大值以及它

们的和。

11. 把一个二维实型数组a按照第0列的元素进行排序(由小到大排序,用起泡法)。

例如:如果a[i][0]大于a[i+1][0],则i行与i+1行中所有元素都要进行对换。 12. 编程序将一个字符串的前 N个子字符送到一个字符型数组中去, 然后再加上一个'

\0'(不允许使用strcpy(str1,str2,n)函数)。

13. 将字符数组 A中下标为双号(0,2,4,6,8...) 的元素值传给另一个字符数组 B,然

后将 B数组的元素按逆序输出。

14. 有一行字符,统计其中的单词个数(单词之间以空格分隔),并将每一个单词的第

一个字母改为大写。

15. 有 N个国家名,要求按字母先后顺序排列(用起泡排序法)后输出。

16. 有17个人围成一圈(编号为0~16),从第 0号的人开始从 1报数, 凡报到 3的

倍数的人离开圈子,然后再数下去,直到最后只剩下一个人为止。 问此人原来的位置是多少号?

31

17. 编程产生如下形式的方阵。 1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1

要求:不允许使用键盘输入语句和静态赋值语句,尽量少用循环。

18. 打印所有不超过 n( n<256)的其平方具有对称性的数(也称回文数)。

19. 求N个数中的最大值,最大值出现的次数,然后求出次大值(次大值一定存在)。 20. 找出 M×N 数组中所有不相邻元素,并求出它们的和(相邻的数:前一个是偶数,

后一个是素数)。

21. 圆盘上有如下图所示的二十个数,请找出哪四个相邻数之和为最大,并指出它们的

起始位置及最大和的值。

22. 已知 100个自然数 1~100,我们取 1, 2, 3, 4时, 我们可将其排成一圈使每

两个数之和都是素数,即→1→2→3→4→,问 1~100内连续取 n个数,即 1~ n(≤ 100)能满足上述要求的最大的 n是多少?

23. 打印魔方阵。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相

32

等。例如:三阶魔方阵为

8 1 6 3 5 7 4 9 2

要求打印由 1到N2的自然数构成的魔方阵。 提示:魔方阵中各数的排列规律如下: ⑴ 将“1”放在第一行中间一列;

⑵ 从“2”开始直到n×n为止各数依次按下列规则存放:每一个数存放的行比前一个数的行数减1,列数加1;

⑶ 如果上一个数的行数为1,则下一个数的行数为 n(指最下一行); ⑷ 当一个数的列数为 n,下一个数的列数应为1,行数减1;

⑸ 如果按上面规则确定的位置已有数,或上一个数是第 1行第 n列时, 则把下一个数放在上一个数的下面。

24. 统计一个单位职工的年龄,要求把相同年龄最多的那个年龄找出来(可能有几个这

样的年龄),并统计出现的次数。

25. n×n的拉丁方阵的每行、每列均为自然数的一个全排列, 每行(列)上均无重复数。

如 n=5时, 5×5的一种拉丁方阵可以为:

1 5 2 4 3 2 3 4 5 1 4 1 5 3 2 5 2 3 1 4 3 4 1 2 5

该数组的第一行 1,5,2,4,3 用程序自动生成,但产生的第一行不一定非得是 1,5,2,4,3,第一行填写完毕后,即以第一行作为全方阵索引, 即若第一行中的第 i 列的元素值为 j ,则 j在各行中的列号即为从第一行中元素值为 i的那一列开始读出的 n个自然数(到行末则从行头接着读),例如第一行第2列的元素值为5, 则从元素值为2的那一列(第3列)开始读出 2,4,3,1,5,这就是元素5在各行中的列标号。 测试数据:① n=5 ② n=8

33

第六单元 函 数

一、 选择题

1. 在C语言中,当函数调用时 。

A. 实参和形参各占一个独立的存储单元 B. 实参和形参共用存储单元

C. 可以由用户指定实参和形参是否共用存储单元 D. 由系统自动确定实参和形参是否共用存储单元 2. 以下函数调用语句中实参的个数为 。

exce((v1,v2),(v3,v4,v5),v6);

A. 3

B. 4

C. 5

D. 6

3. 如果在一个函数的复合语句中定义了一个变量,则该变量 。

A. 只在该符合语句中有效,在该符合语句外无效

B. 在该函数中任何位置都有效 C. 在本程序的原文件范围内均有效 D. 此定义方法错误,其变量为非法变量

A. float型 B. int型 C. long型 D. double型 5. C语言规定,函数返回值的类型是由 。

A. return语句中的表达式类型所决定 B. 调用该函数时的主调函数类型所决定 C. 调用该函数时系统临时决定

D. 在定义该函数时所指定的函数类型决定 6. 在C语言程序中,以下描述正确的是 。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套 7. 以下叙述中正确的是 。

A. 全局变量的作用域一定比局部变量的作用域范围大

B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间 C. 函数的形参都属于全局变量

D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值

34

4. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 。


C语言习题集及答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年基层卫生岗位练兵题库及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: