1、【程序 1】题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21=【程序 2】题目:判断 101-200 之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 =【程序 3】题目:打印出所有的“水仙花数” ,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数” ,因为 153=1 的三
2、次方5 的三次方3 的三次方。1.程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。=【程序 4】题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。 程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成: (1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。(2)如果 n=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示。1.程序分析:(ab)?a:b 这是条件运算符的基本例子。=【程序 6】题目:输入两个正整数 m 和 n,求其最大公约数和
3、最小公倍数。1.程序分析:利用辗除法。 =【程序 7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用 while 语句,条件为输入的字符不为n.=【程序 8】题目:求 s=a+aa+aaa+aaaa+aa.a 的值,其中 a 是一个数字。例如2+22+222+2222+22222(此时共有 5 个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。=【程序 9】题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=123.编程找出 1000 以内的所有完数。1. 程序分析:请参照程序y则将 x 与 y 的值进行交换,然
4、后再用 x 与 z 进行比较,如果 xz 则将 x 与 z 的值进行交换,这样能使 x 最小。=【程序 16】题目:用*号输出字母 C 的图案。1.程序分析:可先用*号在纸上写出字母 C,再分行输出。=【程序 17】题目:输出特殊图案,请在 c 环境中运行,看一看,Very Beautiful!1.程序分析:字符共有 256 个。不同字符,图形不一样。 =【程序 18】题目:输出 9*9 口诀。1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行, j 控制列。=【程序 19】题目:要求输出国际象棋棋盘。1.程序分析:用 i 控制行,j 来控制列,根据 i+j 的和的变化来控制输出黑方格
5、,还是白方格。= 【程序 20】题目:打印楼梯,同时在楼梯上方打印两个笑脸。 1.程序分析:用 i 控制行,j 来控制列,j 根据 i 的变化来控制输出黑方格的个数。第二十一题题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。第二十二题题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。有人向队员打听比赛
6、的名单。a 说他不和 x 比,c 说他不和x,z 比,请编程序找出三队赛手的名单。 1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 第二十三题题目:打印出如下图案(菱形) *1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for 循环,第一层控制行,第二层控制列。 第二十四题题目:有一分数序列:2/1,3/2,5/3,8/5,13/8, 21/13.求出这个数列的前 20项之和。1.程序分析:请抓住分子与分母的变化规律。第二十五题题目:求 1+2!+3!+.+20!的和1.程序分析:此程
7、序只是把累加变成了累乘。第二十六题题目:利用递归方法求 5!。1.程序分析:递归公式:fn=fn_1*4!第二十七题题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。1.程序分析:第二十八题题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第4 个人岁数,他说比第3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后 问第一个人,他说是 10 岁。请问第五个人多大?1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10 岁) ,再往
8、回推。第二十九题题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数 002 班赵鑫提供) 第三十题题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。 1.程序分析:同 29 例第三十一题、题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if 语句判断第二个字母。第三十二题题目:Press any key to change
9、color, do you want to try it. Please hurry up!1.程序分析: 第三十三题题目:学习 gotoxy()与 clrscr()函数 1.程序分析:第三十四题题目:练习函数调用1. 程序分析: 第三十五题题目:文本颜色设置1.程序分析:第三十六题题目:求 100 之内的素数 1.程序分析:第三十七题题目:对 10 个数进行排序1.程序分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后 8 个进行比较,并进行交换。 第三十八题题目:求一个 3*3 矩阵对角线元素之和 1.程序分析:利用双重 for 循
10、环控制输入二维数组,再将 aii累加后输出。第三十九题题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。第四十题题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。第四十一题题目:学习 static 定义静态变量的用法 1.程序分析:第四十二题题目:学习使用 auto 定义变量的用法1.程序分析: 第四十三题题目:学习使用 static 的另一用法。 1.程序分析:第四十四题题目:学习使用 external 的用法。1.程序分析:第四十五题
11、题目:学习使用 register 定义变量的方法。1.程序分析:第四十题六题目:宏#define 命令练习(1) 1.程序分析:第四十七题题目:宏#define 命令练习(2)1.程序分析: 第四十八题题目:宏#define 命令练习(3) 1.程序分析:第四十九题题目:#if #ifdef 和#ifndef 的综合应用。1. 程序分析: 第五十题 题目:#include 的应用练习 1.程序分析:【程序 51】题目:学习使用按位与 0 1 1 0|1=1; 1|0=1; 1|1=1 =【程序 53】题目:学习使用按位异或 。 1.程序分析:00=0; 01=1; 10=1; 11=0=【程序
12、 54】题目:取一个整数 a 从右端开始的 47 位。程序分析:可以这样考虑: (1)先使 a 右移 4 位。(2)设置一个低 4 位全为 1,其余全为 0 的数。可用(04)(3)将上面二者进行 1=0;=【程序 56】题目:画图,学用 circle 画圆形。 1.程序分析:=【程序 57】题目:画图,学用 line 画直线。1.程序分析: =【程序 58】题目:画图,学用 rectangle 画方形。 1.程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。=【程序 59】题目:画图,综合例子。1.程序分析:=【程序 60】题目:画图,综合例子。 程序 6
13、1】题目:打印出杨辉三角形(要求打印出 10 行如下图) 1.程序分析:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 =【程序 62】题目:学习 putpixel 画点。1.程序分析: =【程序 63】题目:画椭圆 ellipse 1.程序分析:=【程序 64】题目:利用 ellipse and rectangle 画图。1.程序分析:=【程序 65】题目:一个最优美的图案。 1.程序分析:=【程序 66】题目:输入 3 个数 a,b,c,按大小顺序输出。 1.程序分析:利用指针方法。=【程序 67】题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交
14、换,输出数组。1.程序分析:谭浩强的书中答案有问题。 =【程序 68】题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数1.程序分析:=【程序 69】题目:有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数) ,凡报到 3 的人退出圈子,问最后留下的是原来第几号的那位。1. 程序分析:=第七十题题目:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度。 1.程序分析:第七十一题题目:编写 input()和 output()函数输入,输出 5 个学生的数据记录。1.程序分析:第七十二题题目:创建一个链表。
15、1.程序分析: 第七十三题题目:反向输出一个链表。 1.程序分析:第七十四题题目:连接两个链表。1.程序分析:第七十五题题目:放松一下,算一道简单的题目。1.程序分析:第七十六题题目:编写一个函数,输入 n 为偶数时,调用函数求 1/2+1/4+.+1/n,当输入 n为奇数时,调用函数1/1+1/3+.+1/n(利用指针函数)1.程序分析:第七十七题题目:填空练习(指向指针的指针)1.程序分析: 第七十八题题目:找到年龄最大的人,并输出。请找出程序中有什么问题。1.程序分析:第七十九题题目:字符串排序。1.程序分析:第八十题题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份
16、,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?1.程序分析:第八十一题题目:809*?=800*?+9*?+1 其中?代表的两位数,8*?的结果为两位数,9*?的结果为 3 位数。求?代表的两位数,及 809*?后的结果。1.程序分析:第八十二题题目:八进制转换为十进制第八十三题题目:求 07 所能组成的奇数个数。第八十四题题目:一个偶数总能表示为两个素数之和。第八十五题题目:判断一个素数能被几个 9 整除第八十六题题目:两个字符串连接
17、程序第八十七题题目:回答结果(结构体变量传递)第八十八题题目:读取 7 个数(150)的整数值,每读取一个值,程序打印出该值个数的。第八十九题题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上 5,然后用和除以 10 的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。第九十题题目:专升本一题,读结果。第九十一题题目:时间函数举例 1第九十二题题目:时间函数举例 2第九十三题题目:时间函数举例 3第九十四题题目:时间函数举例 4,一个猜数游戏,判断一个人反应快慢。 (版主初学时编的)第九十五题 题目:家庭财务管理小程序第九十六题题目:计算字符串中子串出现的次数第九十七题题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。第九十八题题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。 第九十九题题目:有两个磁盘文件 A 和 B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列) , 输出到一个新文件 C 中。第一百题题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩) ,计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件“stud“中。