1 第一个C程序(hello程序)
2 求整数之积
3 比较实数之积
4 字符的输出
5 显示变量所占字节数
6 自增/自减运算
7 数列求和
8 乘法口诀表
9 猜数字游戏
10 模拟A TM界面(控制台模式界面程序的编写)
11 用一维数组统计学生成绩
12 用二维数组实现矩阵转置
13 求解二维数组的最大/最小元素
14 利用数组求前n个质数
15 编制万年历
16 对数组元素排序
17 任意进制数的转换
18 判断回文数
19 求数组的前n元素之和
20 求解钢材切割的最佳定单
(已知线型钢材总长、定单数和各定单需要的钢材长度,编制程序从定单中选择一组定单对钢材作切割加工,使钢材得到最佳利用。约定:每次切割会损耗固定长度的钢材)
21 通过指针比较整数大小
22 指向数组的指针
(用指向数组的指针引用数组,利用数组名及下标引用数组等)
23 寻指定元素的指针
(在已知表中出第一个与指定值相等的元素的下标和指针)
24 寻相同元素的指针
(在已知两个从小到大的有序的数表中寻出现的相同的元素在第一个数表中的指针)25 阿拉伯数字转换为罗马数字
(编写一个将整数n(1<=n<=9999)转化成罗马的表示程序)
26 字符替换
(编制一个字符替换函数rep(char*s,char*s1,char*s2),实现将已知字符串s中所有属于字符串s1中的字符都用字符串s2中的对应字符代替)
27 从键盘读入实数
(编制一个从键盘读入实数的函数readreal(double *rp)。函数将读入的实数字符列转换成实数后,利用指数参数rp,将实数存于指针所指向的变量*rp)
28 字符行排版
(将字符行内单子之间的空白符平均分配插入到单字之间,以实现字符行排版)
29 字符全排列
(用已知字符串s中的字符,生成由其中n个字符组成的所有字符序列。设n小于字符串s的字符个数,其中s中的字符在每个排列中最多出现一次,例如:对于s[]=“abc”,n=2,则所有的字符排列有:ba,ca,ab,cb,ac,bc)
30 判断字符是否是回文
31 通讯录的输入输出(结构体)
32 扑克牌的结构表示
33 用“结构”统计学生成绩(结构体数组)
34 报数游戏
(设由n个人站成一个圈,分别被编号1,2,……,n。第一个从1开始报数,每报数为m的人被从圈中推出,其后的人再次从1开始报数,重复上述过程,直至所有人都从圈中退出。要求程序由用户输入整数m和n,求这n个人从圈中退出的先后顺序)
35 模拟社会关系
(设计一个模拟社会关系的数据结构,每个人的信息用结构表示,包含名字、性别和指向父亲、母亲、配偶、子女的指针(设只有两个子女)。要求编写以下函数:1,增加一个新人的函数;2,建立人与人之间关系的函数:父—子,母—子,配偶等;3,检查某两人之间是否为堂兄妹)
36 统计文件的字符数
37 同时显示两个文件的内容
38 简单的文本编辑器
39 文件的字数统计程序
(实现统计一个或多个文件的行数,字数和字符数)
40 学生成绩管理程序
(编制一个统计存储在文件中的学生考试分数的管理程序。设学生成绩以一个学生一条记录的形式存储在文件中,每个学生记录包含的信息有姓名、学号和各门功课的成绩。要求编制具有以下几项功能的程序:求出各门课程的总分,平均分,按姓名,按学号寻其记录并显示,浏览全部学生成绩和按总分由高到低显示学生信息等)
第二部分数据结构
41 插入排序
42 希尔排序
43 冒泡排序
44 快速排序
45 选择排序
46 堆排序
47 归并排序
48 基数排序
49 顺序表插入和删除
50 链表操作
51 双链表
52 二叉树的遍历
53 符点数转换为字符串(银行数)
54 汉诺塔的问题
55 哈夫曼编码
56 图的深度优先遍历
57 图的广度悠闲遍历
58求解最优交通路径
59 八皇后问题
60 骑士巡游
(骑士巡游的问题:在国际象棋盘上某一位置放置一个马的棋子,然后采用象棋中的‘马走日子’规则,要求这匹马能不重复的走完25个格子。)
第三部分数值计算与趣味数学
61 绘制余弦曲线和直线的迭加
62 计算高次方数的尾数
63 打鱼还是晒网
(某人从1990年1月1日起开始‘三天打鱼两天晒网’,问这个人在以后的某一天中是‘打鱼’还是‘晒网’)
64 怎样存钱以获得最大利息
(通过计算利息来决定怎样存钱以便能够获得最大的利息。)
月利息:
0.63% 1年
0.66% 2年
0.69% 3年
c编程网0.75% 5年
0.84% 8年
利息=本金*月息利率*12*年限
65 阿姆斯特朗数
(如果一个正数等于其各个数字的立方和,则称为阿姆斯特朗数(自恋性数)。如:407=4*4*4+7*7*7就是一个阿姆斯特朗数,试编程求1000以内的所有阿姆斯特朗数)
66 亲密数
(如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数)
67 自守数
(求取200000以内的自守数(即一个数的平方的尾数等于该数自身的自然数)。)
68 具有abcd=(ab+cd)(ab+cd)性质的数
69 验证歌德巴赫猜想
(验证2000以内的正偶数能够分解为两个素数之和)
70 素数幻方
(求四阶素数的幻方,即在一个4*4的矩阵中,每一个格填入一个数字,使每一行,每一列和两条对角线上的四个数字所组成的四位数,均为可逆素数。)
71 百钱百鸡问题
72 爱因斯坦的数学题
(有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩,问着条阶梯共有多少阶(最小解))
73 三球的问题
(若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,问从中任取8个共有多少种不同的颜搭配)
74 马克思手稿中的数学题
(有20个人,其中有男人、女人和小孩,在一家饭馆吃饭花了50先令,每个男人花3先令,每个女人花2先令,每个小孩花1先令。问男人、女人和小孩各自有几人)
75 配对新郎和新娘
(3对情侣参加婚礼,3个新郎为A,B,C,3个新娘为X,Y,Z。有人不知道谁和谁结婚,于是询问了6位新人中的3位,但听到的答案是这样的:A说他将和X 结婚;X说她的为婚夫是C;C说他将和Z结婚。这人听后知道他们在开玩笑,全是假话。请编程出谁将和谁结婚。)
76 约夫问题
(15个教徒和15个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人为成一圆圈,从第一个人开始依次报数,没数到九的人就将他投入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是非教徒。)
77 邮票组合
(某人有4张3分的邮票和3张5分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资?)
78 分糖果
(10个小孩围成一圈分糖果,老师分给第一个小孩10个糖果,第二个小孩2块,第三个小孩8快,第四个小孩22块,第五个小孩16块,地六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问这样几次后,大家手中的躺的块数将一样多,每个人各有多少块糖?)
79 波瓦松的分酒趣题
(某人有12品脱的啤酒一瓶,想从中倒出6品脱,但是他没有6品脱的容器,仅有一个8品脱和5品脱的容器,怎样倒才能将啤酒分为2个6品脱?)
80 求Π的近似值
(用两中方法编程实现求Π的近似值)
81 奇数平方的有趣性质
(变成验证大于100的奇数其平方与1的差是8的倍数。)
82 角谷猜想
(任意给一个自然数,若为偶数则除以2,若为奇数则乘以3加1得到一个新的自然数,然后按照上面的方法演算,若干次后得到的结果必然为1。请编程实现。)
83 四方定理
(所有的自然数至多只要用4个数的平方和就可以表示,请编程验证此定理。)
84 卡布列克常数
(任意一个4位数,自豪要它们各个位上的数是不完全相同的,就有如下规律:1、将组成该4位数的4个数字由大到小排列,形成由这4个数字构成的最大4位数;
2、将组成该4位数的4个数字由小到大排列,形成由这4个数字构成的最小4位数[如果4个数中含有0,则
的到的数不足4位,即是3位数]
3、求两个数的差,得到一个新的4位数[高位的0保留]
重复以上过程,最后得到的结果是6174,这个数便是卡布列克数,请编程实现)
85 尼科彻斯定理
(任何一个整数的立方都可以写成一串连续奇数的和,请编程实现)
86 扑克牌自动发牌
(一副扑克牌有52张,打桥牌时应将牌分给4个人。请设计一个程序完成自动发牌的工作。要求:黑桃用S表示红桃用H表示方块用D表示梅花用C表示)
87 长胜将军
(现有21根火柴,两个人轮流取,每人每次可以取1~4根,不可多取,也不能不取,谁取最后一根火柴则谁输。请编写一个程序进行人机对战,要求人先取;计算机一方为“长胜将军”)
88 搬山游戏
(设有n座山,计算机与人为比赛的双方,轮流搬山。规定搬山的次数不能超过k,谁搬最后一座山谁输。游戏开始的时候计算机请人输入山的总数暖和每次允许搬山的最大数k。然后请人先开始,等人输入了需要搬走的山的树木后。计算机马上打印出他要搬多少座山,并提示剩余多少座山。双方轮流搬山直到最后一座山搬完为止。计算机会显示谁是赢家,并问人是否继续比赛。若人不想玩了,计算机便会统计了共玩了多少局,双方胜负如何。请编程实现。)
89 兔子产子[菲波那契数列]
(从前有一队长寿兔子,他们每一个月生一对兔子,新生的小兔子两个月就长大了,在第二个月的月底开始生它们的下一代小兔子,这样一代一代的生下去,求解兔子增长数量的数列。)
90 数字移动
在上图中空出中间的点,其余的点上任意填入数字1~8。1的位置固定不动。然后移动其余的数字,使1~
8顺时针从小到大排列。移动的规律是只能将数字沿线移向空白的点。91 多项式乘法
(实现多项式的乘法)
92 产生随机数
(变成实现产生随机数)
93 堆栈四则运算
(利用堆栈实现四则运算)
94 递归整数四则运算
(利用递归的方法实现正数的四则运算)
95、96、97 空~
98 求解非线性方程
(用二分法求解非线性方程f(x)=0在指定区间[a,b]的实根。)
99 实矩阵乘法运算
(求m*n阶矩阵A与n*k阶实矩阵的乘积矩阵C=AB。)
100 求解线性方程
(用高斯消去法求解N阶线性代数方程Ax=B。)
101 n阶方阵求逆
(对n阶方A阵求逆)
102 复矩阵乘法
(求m*n阶虚矩阵A与n*k阶虚矩阵B的乘积矩阵C=AB)