没有合适的资源?快使用搜索试试~ 我知道了~
三级数据库上机100题,对复习很有帮助。
资源推荐
资源详情
资源评论
调用函数 ,从 文件中读取 组数据( 和 值),并嵌套调用
函数分别得出 数组。请编写函数 ,,,该函数的功能
是:将紧靠 的 个素数存入数组 并在屏幕上显示。最后把结果输出到文件
中。
例如,若输入 ,则应输出 。
注意:部分程序已经给出。请勿改动主函数 和输出数据函数 的内容。
!"#!$$%&
!"#'$%&
($)
($**
+
,
+ **)
-./0"'$1'2.)
'!3.44.*5*5)
**)
3$6)#)77
-.4.*)
-./.)
)
,
($
+ ***)
89:;<"*;<")
<"63$..*..)
<"63$.$.*..)
3$6)#)77
+ 3'!3<"*.44.*5*5)
**)
3$6)#)77
3-<"*.4.*)
3-<"*./.)
,
3!"$'<")
3!"$'<")
,
【知识点播】素数的定义:如果一个数的正因子只有1和这个数本身,那么这个数就是素
数。
【题目分析】分析题目可知,题中需要解决的问题就是 0 函数的功能问题(
函数功能题中已经给出),而 0 函数的功能是求在指定数 之后的 个素数,因
此本题的关键在于如何判断一个数是素数,之后就可以通过一个 3$ 循环来求得在 之后
的 个素数了。
【解题思路】根据素数的定义,本题采用的算法是:首先定义一个变量 =",并把 之
后的数逐个赋值给该变量;然后用 >("? 数除 (",如果 (" 能被 >("? 之中的
任何一个整数整除,则 (" 不是素数,结束循环;如果 (" 不能被 ~("? 之间的任
一整数整除,则退出循环,然后判断循环变量 是否大于 ("?,如果大于,则 (" 是素
数,并将 (" 值赋给 ,然后 77;再判断 是否大于等于 ,如果大于等于 ,就
完成了程序要求的功能,退出循环,否则 (" 加 ,根据以上算法继续进行。
【答案】
($**
+ ("67)
%"3*6*)
%"
+ %"36("?)
3$6)#6%"3)77
3("466
@)
3&%"3
+ 6(")
77)
,
3&6
@)
("77)
,
,
【容错分析】判断一个数 (大于1)是否素数的简单的算法:枚举2到 ? 之间的整数,
看能否被 整除,如果能整除,就不是素数,否则是素数。
在文件 中有 个正整数,且每个数均在 > 之间。函数 AB读取这
个数存放到数组 $1" 中。请编写函数 C'!,其功能是:要求按每个数的后 位
的大小进行升序排列,然后取出满足此条件的前 个数依次存入数组 '" 中,如果后
位的数值相等,则按原先的数值进行降序排列。最后调用函数 DB,把结果 '" 输出
到文件 中。
例如,处理前:EFFF
处理后:EFFF
注意:部分程序已给出。请勿改动主函数 、读数据函数 AB和输出数据函数
DB的内容。
!"#'$%&
!"#'1%&
!"#!$$%&
$1"*'")
($'!
+
,
($AB
+ 89:;)
)
63$..*..)
3$6)#)77
3'!3*.4*.*5$1")
3!"$')
,
($DB
+ 89:;$)
)
$63$..*..)
3$6)#)77
+ -.4.*'")
3-$*.4/.*'")
,
3!"$'$)
,
($
+ AB)
'!)
DB)
,
【题目分析】首先我们来看看题中要求我们解决的问题有哪些。①按 $1" 数组中各元素
数字的后 位数的大小进行升序排列,如果数值相等,则按原先的数值进行降序排列;②
取出排序后的 $1" 数组中的前 个数依次存入 '" 数组中。
【解题思路】根据上面的分析,编写程序有以下几个步骤:
第 步:首先分解出数组中两个元素的后三位,这里采用在两次循环中求出正整数
$1"和 $1"G对 的余数的方法;
第 步:然后比较两个数余数的大小,如果正整数 $1"和 $1"G对 的余数不相
同,则按照升序进行排序,如果相同,则比较 $1"和 $1"G的大小,按照降序进行
排序;
第 步:利用一个 3$ 循环语句把 $1" 数组中的前 个数输出给 '" 数组。
【答案】
($'!
+ *G*)
3$6)#)77
3$G67)G#)G77
+ 3$1"4&$1"G4
+ 6$1")
$1"6$1"G)
$1"G6)
,
"'3$1"466$1"G4
+ 3$1"#$1"G
+ 6$1")
$1"6$1"G)
$1"G6)
,
,
,
3$6)#)77
'"6$1")
,
容错分析:数组 $1"中两个数的位置交换要借助中间变量 。
已知文件 中存有 个产品销售记录,每个产品销售记录由产品代码 !$(字符
型 H 位)、产品名称 (字符型 位)、单价 !(整型)、数量 $(整型)、
金额 '(长整型) 部分组成。其中:金额6单价I数量。函数 AB读取这 个销售
记录并存入结构数组 '"" 中。请编写函数 B'!J$,其功能要求:按产品代码从大到小进
行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组 '""
中,最后调用函数 DB,把结果输出到文件 中。
注意:部分程序已给出。请勿改动主函数 、读数据函数 AB和输出数据函数
DB的内容。
!"#'$%&
!"#'1%&
!"#!$$%&
!"#'"@%&
<KCL
3'!
+ !%!$) ?;产品代码 ;?
!%) ?;产品名称 ;?
!) ?;单价 ;?
$) ?;数量 ;?
"$1') ?;金额 ;?
,0A)
0A'""KCL)
($AB)
($DB)
($B'!J$
+
,
($
+ ''""**'M$3'"")
AB)
B'!J$)
DB)
,
($AB
+ 89:;3)
!%'F*!%)
)
363$..*..)
3$6)#)77
+ 31''*F*3)
!'""!$*'*H)
!'""*'7H*)
!!%*'7H*H)
!%H6)
'""!6$!%)
!!%*'7F*)
!%6)
'""$6$!%)
'""'6"$1'""!;'""$)
,
3!"$'3)
,
($DB($
+ 89:;3)
)
363$..*..)
3$6)#)77
+ -.4'4'4H44/.*
'""!$*'""*'""!*'""$*'""')
3-3*.4'4'4H44/.*
'""!$*'""*'""!*'""$*'""')
剩余63页未读,继续阅读
资源评论
destiny023
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功