这个题目不难啊。
程序方法:
一、控件摆放。各控件的初始化,各控件的随窗体大小改变而改变。控件的响应事件。
二、算法。
1、保存数据的变量。定义一个动态 1维数组。数组大小等于 需要显示的格子数。
2、根据控件的值,生成需要显示的第一个数据的值。
3、根据第一个数据的值和数组的下标,可以得出每个元素的值,根据根据每个元素的值,计算是否为素数。=1,素数;=3 恋生素数第一个,=4 恋生素数后一个
4、绘图。先绘制网格。然后再按 数组内容,绘制颜色块。
创新1:绘制时,判断前及后相邻二个格子是否是素数,如果是,那么是 恋生素数 ,使用与其它不同的颜色进行显示,并且在数组中进行标记。
创新2:绘制时,统计数组中有多少个素数,绘制结束后,显示统计结果。
5、点击时显示。响应鼠标按下事件,得到鼠标的坐标,换算成 格子的坐标,再换算出 数组下标,然后再计算出格子的值。将格子的值及是否素数显示在标题中。
点击格子后,可以根据 是否素数对格子的颜色进行变化,并且保存这个格子的坐标。
创新3:当下一次点击时,取消前面保存格子的颜色变化情况。然后变化新格子的颜色。
创新4:格子颜色变化时,为素数变化成一种颜色 ,不是素数时变化成另一种颜色 。
6、创新5:响应鼠标移动事件,加一个浮动的控件,实时显示鼠标所指的格子的值及是否素数。
[
本帖最后由 风吹过b 于 2012-6-21 09:11 编辑 ]