15级程序设计基础题库(c语言)2015.9.21更新

六、字符串(10道抽1道,写代码)

61、 编写程序,用你的英文名字初始化一个字符串,然后输出,如John(较易) 62、 请定义一个长度为10的字符串,并将其输出显示。(较易) 63、 定义2串密码,判断该两串密码是否一致。(较难)

64、 反向加密:定义任意长度的密码,输出反向的密码。(较易) 65、 判断字符串是否为回文串。(提示:回文字符串是具有回文特性的字符串:即该字

符串从左向右读和从右向左读一样,如12321)(难) 66、 将字符串中的小写字母改为相应的大写字母 。(难)

67、 定义两个字符串,比较两个字符串的长度,输出较长的字符串。若两个字符串长度

相同,则输出第一个字符串 。(较难)

68、 定义一字符串,输出字符串中第一个出现字母a的位置,如没有则输出-1 。(难) 69、 定义一字符串,统计该字符串中数字的个数。(较难) 70、 定义两个字符串,合并成一个新的字符串并输出。(较难)

七、函数(抽1道,写代码)

注:在分支结构中任抽一题,要求用函数实现。(较难)

八、指针(10道抽1道,写代码)

71、 定义函数求2个整数的最大值(要求使用指针变量作函数参数来实现)。(较难) 72、 定义函数实现两个float型数的交换(要求使用指针变量作函数参数来实现)。(较

难)

73、 定义(返回指针)函数求三个数的最大值。(较难) 74、 定义(返回指针)函数求三个数的和。(较难)

75、 定义函数求x,y中的较小数(要求用指向函数的指针实现)。(难) 76、 定义函数求x,y中的较大数(要求用指向函数的指针实现)。(难)

77、 求一个字符串中的数字字符之和。(要求用指向字符串的指针实现)(难) 78、 输出字符串长度。(要求用指向字符串的指针实现)(难)

79、 键盘输入5个数,输出10个数的和(指向一维数组的指针实现)。(难)

80、 键盘输入5个数,输出10个数的最大值(指向一维数组的指针实现)。(难)

九、数据类型(10道抽1道,写代码)

81、 定义一个日期结构体变量(年、月、日),定义包含3个日期信息的数组,输出这

些日期信息。(较难)

82、 定义一个结构体,管理员工的信息(工号,姓名,工资),定义包含3个员工信息

的数组,输出这些员工信息记录。(较难)

83、 定义一个结构体,管理学生的成绩(姓名,学号,成绩),定义包含3个学生信息

的数组,输出这些学生信息记录。(较难)

84、 定义一个结构体,管理士兵的信息(姓名,兵种,编号),定义包含3个士兵信息

的数组,输出这些士兵信息记录。(较难)

85、 定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入3个学生的

数据后,求平均成绩。(难)

86、 定义一个结构体,管理士兵的信息(姓名,兵种,编号),从键盘输入3个士兵信

息的数组,输出这些士兵信息记录。(较难)

87、 定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入5个学生的

数据后,求最高分。(难)

88、 定义一个结构体,管理学生的成绩(姓名,学号,成绩),从键盘输入5个学生的

数据后,求5个学生的总成绩。(难)

89、 定义一个结构体表示日期,包含年、月、日、星期,其中星期用枚举类型实现,用

今天的日期将其初始化。(难)

90、 定义一个结构体表示日期,包含年、月、日、星期,其中星期用枚举类型实现,用

(2015-4-28 星期二)将其初始化。(难)

十、附加题

91、 求下面数列的前20项的和:2/1、3/2、5/3、8/5、13/8。。。。

92、 键盘输入两个日期(年月日)输出两个日期之间的天数。(如计算2013年1月1

日到2014年3月1日有多少天,考虑闰年) 93、 打印图形

1 121 12321 1234321 12321 121 1

94、 打印图案

1 1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 16 8 4 2 1

95、 编程:桌上放了8袋花生,第1袋花生的数目是1颗,第2袋花生的数目是1*2

颗,第3袋花生的数目是1*2*3颗,以此类推,那么第N袋花生的数目是1*2*3*。。。*N颗,但是其中的第6袋花生已经被人拿走,那么剩下的花生总数是多少? 96、 猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了。求第一天共摘了多少?

97、 求算式xyz+yzz=532中x, y, z的值(其中xyz和yzz分别表示一个三位数)。

98、 求出用数字0至9可以组成多少个没有重复的三位偶数。

99、 下面的程序从键盘接收任意6个数放入数组A中,假设这6个数为:8 1 4 2 5 6 ,

则要输出一个具有如下内容的方阵。 8 1 4 2 5 6 6 8 1 4 2 5 5 6 8 1 4 2 2 5 6 8 1 4 4 2 5 6 8 1 1 4 2 5 6 8

100、 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一

个子数组,每个子数组都有一个和。求所有子数组的和的最大值。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。

101、 对于已经排好序的数组a(假设数组递增),输入一个测试数据x,如果x存在于

数组a中,则把x元素删除;否则将x插在相应的位置上,要求数组仍然有序。 102、 有两个数组a,b已经按递增的顺序排列好,现在要将a,b合并为数组c,使得数

组c仍然按照递增的顺序排列。

103、 编程实现把一个十进制数转化成二进制数,把结果保存在数组中,并正确输出。 104、 加密程序:由键盘输入明文,通过加密程序转换成密文并输出到屏幕上。 算法:明

文中的字母转换成其后的第4个字母,例如,A变成E(a变成e),Z变成D,非字母字符不变;同时将密文每两个字符之间插入一个空格。例如,China转换成密文为G l m r e。要求:在函数change中完成字母转换,在函数insert中完成增加空格,用指针传递参数。

105、 设计一个剪刀石头布的游戏。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4