1. 简单的simon游戏。
是一个记忆测试游戏,计算机会在屏幕上将一串数字显示很短的时间。玩家必须在数字消失之前记住他们,然后输入这串数字。每次过关后,计算机会显示更长的一串数字,让玩家继续玩下去。
玩家应尽可能使这个过程重复更多的次数。
分析:程序必须产生一连串0~9的整数,是他们在屏幕上显示1秒钟,之后删除它们。玩家试着输入这串数字。
这串数字会一次比一次长,直到玩家输入错误为止。根据成功的次数和所花的时间来计分。然后程序会询问玩家,是否继续玩。
2. 编写一个程序,让两个人在计算机上玩井字游戏(也称为圈叉游戏)。
分析:井字游戏是一个3*3的方格。两个人轮流在方格中输入标记x或o。谁先使自己的3个标记连接成水平垂直或对角线,就是赢家。下面看一下如何设计:
1) 一个3*3的方格用来存储两人输入的标记,很简单,使用一个3*3的数组二维数组即可。
2) 轮到一个玩家输入标记时,需要一种方法标记出选择出来的方格。可以用1~9的数字标记这9个方格。玩家只需输入要选择的方格数字。
3) 有一种让两个玩家轮流输入标记的方法。可以将玩家识别为1和2,编号1的玩家先玩。然后根据轮流的次数决定输入标记的玩家号码。
轮到奇数号时,就由玩家1输入标记。轮到偶数号时,就由玩家2输入标记。
4) 制定玩家的标记放在哪个方格中,并检查它是否有效。一个有效的选择是1~9的数字。如果用标记方格的第一行,用标记方格的第二行,用标记第三行,就可以从方格数字中计算出列和行的索引。
如果玩家选择的方格数字减1,方格数就是0~8。如下图所示。
减1后的方格。
表达式choice/3会得到行数,如下图所示。
原方格数减1
除以3表达式chioce%3会得到列数,原方格数减1
除以3的系数。
5) 找出其中一位玩家获胜。每次轮完后,都须检查方格上的行、列或对角线是否有相同的标记。如果有,后一位玩家就赢了。
6) 确定游戏的结束。因为板上有9个方格,所以游戏是在有人获胜或轮玩9次后结束。
3. 计算器,可以进行如下操作:
1)允许使用有符号的小数,包含带-或+符号的整数/.
2)允许表达式组合多个运算式,如2.5+3.7-6/6
3)添加运算符^,计算幂,因此2^3会得到8。
4)允许使用前一个运算的结果。如果前一个运算的结果是2.5,那么=*2+7会得到12。
任何以赋值运算符开头的输入行都自动假设左操作数是前一个运算的结果。1+2*3-4*-5。
分析:事先并不知道表达式有多长或有多少个操作数。用户会输入一个完整的字符串,然后分析它,确定它包含什么数值和运算数。只要一个运算数有左右操作符,就计算其中间结果。
步骤如下:1)读入用户输入的字符串,如果他是quit,就退出。
2)检查=运算符,如果有一个=运算符,就查找第一个操作数。
3)寻找跟在操作数后的运算符,依次执行每一个运算符,直到输入字符串结束为止。
4)显示结果,并回到步骤1。
1.编写一个程序,生成乘法表,其大小由用户输入来决定,例如:如果表的大小为5,该表就有5行5列。行和列标记为1~5.
表中的每个单元格都包含对应的行列之积,因此第3行第4列的单元格包含12。见下图。
2. 定义一个double类型的二维数组data[12][5]。用2.0~3.
0的值初始化第一列元素(每步增加0.1)。如果行中的第一个元素值是x,该行的其它元素值分别是1/x,x2, x3, x4。
输出数组的值,每一行放在一行上,每一列要有标题。
见下图:3.编写一个程序,从键盘上读入一个小于1000的正整数,然后创建并输出一个字符串,说明该数值的值。例如,输入345,程序产生的字符串是three hundred and forty five 。
见下图。4. 编写一个程序,输入一系列单词,单词之间用逗号分隔,然后提取这些单词,并将它们分行输出,删除头尾的空格。例如,输入是:
john , jack , jill
输出将是:john
jackjill
见下图:5. 定义一个函数,其参数是一个字符串,返回该字符串中的单词数(单词以标点符号或空格来分隔。
假设字符串不含单双引号,即没有像it’s这样的单词)。定义第二个函数,它的第一个参数是一个字符串,第二个参数是一个数组,该函数将第一个字符串分割成单词,把这些单词存储在第二个数组中,最后返回存储在数组中的单词。定义第三个函数,其参数是一个字符串,返回该字符串中的字母个数。
使用这些函数实现一个程序,从键盘读入含有文本的字符串,输出文本中的所有单词,输出顺序是按照单词中的字母数,由短到长。
输入: dalian china输出:cn
eduwww
djtuchina
dalian
见下图:6.函数原型:
double power(double x, int n);
计算并返回xn
因此power(5.0,4)会计算5.0*5.0*5.0*5.0,它的结果是625.0。将该函数实现为递归函数。
7. 编写一个程序,从键盘读入姓名和**号码,将它们写入一个文件,如果这个文件不存在就写入一个新文件。如果文件已存在,就将它们写入该文件。写入完成后,允许用户将文件中数据显示在屏幕上。
1. 该存多少钱。
假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的五年中每年的年底取出1000元,到第五年时刚好取完。请算出他存钱时应存多少。
2. 歌星大奖赛。
在歌星大奖赛中,有10个评委为参赛选手打分,分数为1到100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
3. 汉诺塔问题。
一块板上有三根针,a,b,c。a针上套有64个大小不等的圆盘,大的在下,小的在上。要把这64个圆盘从a针移动c针上,每次只能移动一个圆盘,移动可以借助b针进行。
但在任何时候,任何针上的圆盘都必须保持**在下,小盘在上。求移动的步骤。
如果n=1,则将圆盘从a直接移动到c。
如果n=2,则:
1.将a上的n-1(等于1)个圆盘移到b上;
2.再将a上的一个圆盘移到c上;
3.最后将b上的n-1(等于1)个圆盘移到c上。
如果n=3,则:
a. 将a上的n-1(等于2,令其为n`)个圆盘移到b(借助于c),步骤如下:
1)将a上的n`-1(等于1)个圆盘移到c上。
2)将a上的一个圆盘移到b。
3)将c上的n`-1(等于1)个圆盘移到b。
b. 将a上的一个圆盘移到c。
c. 将b上的n-1(等于2,令其为n`)个圆盘移到c(借助a),步骤如下:
1)将b上的n`-1(等于1)个圆盘移到a。
2)将b上的一个盘子移到c。
3)将a上的n`-1(等于1)个圆盘移到c。
到此,完成了三个圆盘的移动过程。
从上面分析可以看出,当n大于等于2时,移动的过程可分解为三个步骤:
第一步把a上的n-1个圆盘移到b上;
第二步把a上的一个圆盘移到c上;
第三步把b上的n-1个圆盘移到c上;其中第一步和第三步是类同的。
当n=3时,第一步和第三步又分解为类同的三步,即把n`-1个圆盘从一个针移到另一个针上,这里的n`=n-1。 显然这是一个递归过程。
4. 约瑟夫问题。
5. 八后问题。
6. 比较两个分数的大小。
常规比较两个分数的大小的方法是将两个分数通分后,比较分子的大小,请模拟常规算法编程实现,7. 分数之和。
8.黑与白。
9. 谜语博士的难题。
10. 哪个大夫哪天值班。
11.区分旅客国际。
12.计算一组学生的平均成绩和不及格人数。用结构指针变量作函数参数编程。
13.建立一个三个结点的链表,存放学生数据。为简单起见, 我们假定学生数据结构中只有学号和年龄两项。可编写一个建立链表的函数creat。
14.输入5个国名并按字母顺序排列后输出。
20. 用newton-rapleon法求一元三次方程。
ax+bx+cx+d=0的根。
21. 编写程序, 求字符串的逆(即和原来的存储次序相反)。
22. 建立一个磁盘文件,其内容是0~90°之间每隔5°的正弦值。
23. 把上题所建立的文件的内容读出并打印。
24.有5个学生,输入他们的学号、姓名、数学成绩和英语成绩,要求用结构体实现。
25.对一个8进制数进行移位,先输入该8进制数,然后输入移位的位数,且正数表示右移,负数表示左移。
26. 一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和每个人的平均成绩。
27. 百钱百鸡问题。用100元钱买100只鸡,每只公鸡5元,每只母鸡3元,每3只小鸡1元,要求每种鸡至少买一只,且必须是整只的,问各种鸡各买多少只?
分析:1)这是一个组合问题,归根到底是求三元一次方程的一组解;
2)设 i,j,k分别表示公鸡、母鸡和小鸡的只数。为了确定i,j,k的取值范围,可以有不同方法。不同的方法,程序的计算量相差甚远;
3)方法一:i :1~ 20;j:1 ~ 33;k:1~100;
4)方法二:i :1~ 18;j:1 ~ 31;k:100-i-j;
5)方法三:由i +j+k=100及5i +3j+k/3=100得14i+8j=200,由此可得:
i :1~ 13;j:1 ~ 23;k=100-i-j;
6)方法四:由方法三中的14i+8j=200得7i+4j=100可得:
i :1~ 13;j=(100 -7 i)/4;k=100-i-j;
28.打印图形。
注意不同的根有不同的输出。
x (x<1)
y= 2x-1 (1≤x<10)
3x-11 (x≥10)
写一程序,输入x,输出相应的y值。
作文参考题目
1.话题 生活需要什么。阅读下面材料,按要求作文。有人说,生活需要柴米油盐 有人说,人不是单靠吃米活着 有人说,生活需要清风明月碧水蓝天 有人说,生活需要安定的社会环境 有人说生活需要人与人之间美好的情感 的确,生活是丰富多彩的,生活需要的还有许多许多。那么,你认为生活需要什么?请以 生活需要为题,...
作文参考题目
1.should universities lower admission requirements for celebrities?1 近年来很多名牌大学都会降低标准招收名人学生,一些人强烈反对这样做。2 但也有不少人认为这很正常。3 你对此的看法是 为什么?2.building a harmon...
征文参考题目
一 总则。论律师队伍建设的意义。律师队伍建设目标初探。律师队伍建设方向刍议。律师队伍建设原则研究。简析律师队伍建设的任务。二 律师队伍思想政治建设。论全面深化改革和平安中国 法治中国建设对律师队伍建设提出的新要求。创新律师队伍思想政治建设的几点思考。坚持律师队伍思想政治素质与业务素质 职业道德素质一...