• 一键推广
淘教中国网
家教板块
北京市
全国免费咨询
400-0000-696

首页 > 淘教百科 > 考生必读 > 2010年3月全国计算机等级考试二级VB笔试试卷(含参考答案)

2010年3月全国计算机等级考试二级VB笔试试

  时间:2013-06-13 14:03:28 [打印] 浏览6997次

2010年3月全国计算机等级考试二级VB笔试试卷(含参考答案)

一、选择题(每题2分,共70分)
(1)下列叙述中正确的是( )
A)对长度为n的有序链表进行查找,最坏情况下需要比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数(log2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数(nlog2n)
(2)算法的时间复杂是指( )
A)算法的执行时间 B)算法所处理的数据量
C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的基本运算次数
(3)软件按功能可以分为:应用软件、系统软件和支持软件(或工具软件),下面属于系统软件的是( )
A)编辑软件 B)操作系统 C)教务管理系统 D)浏览器
(4)软件(程序)调试的任务是( )
A)诊断和改正程序中的错误 B)进肯能多的发现程序中的错误
C)发现并改正程序中的所有错误 D)确定程序中错误的性质
(5)数据流程图(DFD图)是( )
A)软件概要设计的工具 B)软件详细设计的工具
C)机构化方法的需求分析工具 D)面向对象方法的需求分析工具
(6)软件生命周期可以分为定义阶段,开发阶段和维护阶段。详细设计属于( )
A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段
(7)数据库管理系统中负责数据模式定义的语言是
A)数据定义语言  B)数据管理语言  C)数据操纵语言  D)数据控制语言  (8)在学生管理的关系数据库中,存取一个学生信息的数据单位是
A)文件  B)数据库  C)字段  D)记录
  (9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
A)需求分析阶段  B)逻辑设计阶段  C)概念设计阶段  D)物理设计阶段
  (10)有两个关系R和T如下:

  则由关系R得到关系T的操作是
A)选择  B)投影  C)交  D)并
  (11)在VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是
  (12)设x是整型变量,与函数Ⅱf(x>0,-x,x)有相同结果的代数式是
A)|x|B)-|x|C)xD)-x
  (13)设窗体文件中有下面的事件过程:
Private Sub Command1_Click()
Dim s
a%=100
Print a
End Sub
  其中变量a和s的数据类型分别是
A)整型,整型  B)变体型,变体型  C)整型,变体型  D)变体型,整型
  (14)下面哪个属性肯定不是框架控件的属性
A)TextB)CaptionC)LeftD)Enabled
  (15)下面不能在信息框中输出“VB”的是
A)MsgBox "VB" B)x=MsgBox("VB"
C)MsgBox("VB")  D)Call MsgBox "VB"
 (16)窗体上有一个名称为Option1的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程
Private Sub Option1_C1ick(Index As Integer)
  …
End Sub
  下面关于此过程的参数Index的叙述中正确的是
A)Index为1表示单选按钮被选中,为O表示未选中
B)Index的值可正可负
C)Index的值用来区分哪个单选按钮被选中
D)Index表示数组中单选按钮的数量
(17)设窗体中有一个文本框Text1,若在程序中执行了Text1.SetFocus,则触发
A)Text1的SetFocus事件  B)Text1的GotFocus事件
C)Text1的LostFocus事件   D)窗体的GotFocus事件
  (18)VB中有3个键盘事件:KeyPress、KeyDown、KeyUp,若光标在Text1文本框中,则每输入一个字母
A)这3个事件都会触发   B)只触发KeyPress事件
C)只触发KeyDown、KeyUp事件  D)不触发其中任何一个事件 
 (19)下面关于标准模块的叙述中错误的是
A)标准模块中可以声明全局变量
B)标准模块中可以包含一个Sub Main过程,但此过程不能被设置为启动过程
C)标准模块中可以包含一些Public过程
D)一个工程中可以含有多个标准模块
 (20)设窗体的名称为Form1,标题为Win,则窗体的MouseDown事件过程的过程名是
A)Form1_MouseDownB)Win_MouseDown
C)Form_MouseDown D)MouseDown_Form1
  (21)下面正确使用动态数组的是


A)Dim arr() As Integer

ReDim arr(3,5)
B)Dim arr() As Integer

ReDim arr(50)As String
C)Dim arr()

ReDim arr(50) As Integer
D)Dim arr(50) As Integer

ReDim arr(20)


(22)下面是求最大公约数的函数的首部
Function gcd(ByVal x As Integer, ByVal y As Integer) As Integer
  若要输出8、12、16这3个数的最大公约数,下面正确的语句是
A)Print gcd(8,12),gcd(12,16),gcd(16,8)
B)Print gcd(8,12,16)
C)Print gcd(8),gcd(12),gcd(16)
D)Print gcd(8,gcd(12,16))
  (23)有下面的程序段,其功能是按图1所示的规律输出数据
Dim a(3,5) As Integer
For i=1 To 3
For j=1 To 5
A(i,j)=i+j
Print a(i,j)
Next
Print
Next
  若要按图2所示的规律继续输出数据,则接在上述程序段后面的程序段应该是


A)For i=1 To 5
For j=1 To 3
Print a(j,i)
Next
Print
Next
B)For i=1 To 3
For j=1 To 5
Print a(j,i)
Next
Print
Next
C)For j=1 To 5
For i=1 To 3
Print a(j,i)
Next
Print
Next
D)For i=1 To 5
For j=1 To 3
Print a(i,j)
Next
Print
Next



(24)窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序
Private Sub Commandl_Click()
Dim n
If Text1.Text<>"23456" Then
n=n+1
Print "口令输入错误" & n & ""
End If
End Sub
  希望程序运行时得到左图所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上面的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是
A)在Dim n语句的下面添加一句:n=O
B)把Print "口令输入错误" & n & ""改为Print "口令输入错误" +n+""
C)把Print "口令输入错误" & n & ""改为Print "口令输入错误"&Str(n)&""
D)把Dim n改为Static n
  (25)要求当鼠标在图片框P1中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是
A)Private Sub P1_MouseMove(Button AS Integer,Shift As Integer,X As Single, Y As Single)
Print X,Y
End Sub
B)Private Sub P1_MouseDown(Button AS Integer,Shift As Integer,X As Single, Y As Single)
Picture.Print X,Y
End Sub
C) Private Sub P1_MouseMove(Button AS Integer,Shift As Integer,X As Single, Y As Single)
P1.Print X,Y
End Sub
D)Private Sub Form_MouseMove(Button AS Integer,Shift As Integer,X As Single, Y As Single)
P1.Print X,Y
End Sub
  (26)计算二的近似值的一个公式是。
  某人编写下面的程序用此公式计算并输出π的近似值:
Private Sub Comand1_Click()
PI=1
Sign=1
n=20000
For k=3 To n
Sign=-Sign/k
PI=PI+Sign/k
Next k
Print PI4
End Sub
  运行后发现结果为3.22751,显然,程序需要修改。下面修改方案中正确的是
A)把For k=3 To n 改为 For k=1 To n B)把n=20000改为n=20000000
C)把For k=3 To n改为For k=3 To n Step 2D)把PI=1改为PI=0
(27)下面程序计算并输出的是
Private Sub Comand1_Click()
a=10
s=0
Do
s=s+aaa
a=a-1
Loop Until a<=0
Print s
End Sub
A)13+23+33+…+103的值  B)10!+…+3!+2!+1!的值
C)(1+2+3+…+10)3的值  D)10个103的和
  (28)若在窗体模块的声明部分声明了如下自定义类型和数组
Private Type rec
Code As Integer
Caption As String
End Type
Dim arr(5) As rec
  则下面的输出语句中正确的是
A)Print arr.Code(2),arr.Caption(2)B)Print arr.Code,arr.Caption
C)Print arr(2).Code,arr(2).CaptionD)Print Code(2),Caption(2)
  (29)设窗体上有一个通用对话框控件CD1,希望在执行下面程序时,打开如图所示的文件对话框
Private Sub Comand1_Click()
CD1.DialogTitle="打开文件"
CD1.InitDir="C:"
CD1.Filter="所有文件|.|Word文档|.doc|文本文件|.Txt"
CD1.FileName=""
CD1.Action=1
If CD1.FileName=""Then
Print"未打开文件"
Else
Print"要打开文件"& CD1.FileName
End If
End Sub
  但实际显示的对话框中列出了C:下的所有文件和文件夹,“文件类型”一栏中显示的是“所有文件”。下面的修改方案中正确的是
A)把CD1.Action=1改为CD1.Action=2
B)把“CD1.Filter=”后面字符串中的“所有文件”改为“文本文件”
C)在语句CD1.Action=1的前面添加:CD1.FilterIndex=3
D)把CD1.FileName=""改为CD1.FileName="文本文件"
(30)下面程序运行时,若输入395,则输出结果是
Private Sub Comand1_Click()
Dim x%
x=InputBox("请输入一个3位整数")
Print x Mod 10,x100,(x Mod 100)10
End Sub
A)3 9 5 B)5 3 9C)5 9 3D)3 5 9
  (31)窗体上有List1、List2两个列表框,List1中有若干列表项(见图),并有下面的程序:
Private Sub Comand1_Click()
For k=List1.ListCount-1 To 0 Step -1
If List1.Selected(k) Then
List2.AddItem List1.List(k)
List1.RemoveItem k
End If
Next k
End Sub
  程序运行时,按照图示在List1中选中2个列表项,然后单击Commandl命令按钮,则产生的结果是
A)在List2中插入了“外语”、“物理”两项
B)在List1中删除了“外语”、“物理”两项
C)同时产生A)和B)的结果
D)把List1中最后1个列表项删除并插入到List2中
  (32)设工程中有2个窗体: Form1、Form2,Form1为启动窗体。Form2中有菜单。其结构如表。要求在程序运行时,在Form1的文本框Text1中输入口令并按回车键(回车键的ASCII码为13)后,隐藏Form1,显示Form2。若口令为“Teacher”,所有菜单项都可见;否则看不到“成绩录入”菜单项。为此,某人在Form1窗体文件中编写如下程序:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii=13 Then
If Text1.Text="Teacher" Then
Form2.input.visible=True
Else
Form2.input.visible=False
End If
End If
Form1.Hide
Form2.Show
End Sub
  程序运行时发现刚输入口令时就隐藏了Form1,显示了Form2,程序需要修改。下面修改方案中正确的是
A)把Form1中Text1文本框及相关程序放到Form2窗体中
B)把Form1.Hide、Form2.Show两行移到2个End If之间
C)把If KeyAscii=13 Then改为 If KeyAscii="Teaeher" Then
D)把2个Form2.input.Visible中的“Form2”删去
(33)某人编写了下面的程序,希望能把Text1文本框中的内容写到out.txt文件中
Private Sub Comand1_Click()
Open "out.txt" For Output As #2
Print "Text1"
Close #2
End Sub
  调试时发现没有达到目的,为实现上述目的,应做的修改是
A)把Print "Text1"改为Print #2,Text1B)把Print "Text1"改为Print Text1
C)把Print "Text1"改为Write "Text1"D)把所有#2改为#1
  (34)窗体上有一个名为Command1的命令按钮,并有下面的程序:
Private Sub Comand1_Click()
Dim arr(5) As Integer
For k=1 To 5
arr(k)=k
Next k
prog arr()
For k=1 To 5
Print arr(k)
Next k
End Sub
Sub prog(a() As Integer)
n=Ubound(a)
For i=n To 2 step -1
For j=1 To n-1
if a(j) t=a(j):a(j)=a(j+1):a(j+1)=t
End If
Next j
Next i
End Sub
  程序运行时,单击命令按钮后显示的是
A)12345B)54321C)01234D)43210
(35)下面程序运行时,若输入“Visual Basic Programming”,则在窗体上输出的是
Private Sub Comand1_Click()
Dim count(25) As Integer, ch As String
ch=Ucase(InputBox("请输入字母字符串"))
For k=1 To Len(ch)
n=Asc(Mid(ch,k,1))-Asc("A"
If n>=0 Then
Count(n)=Count(n)+ 1
End If
Next k
m=count(0)
For k=1 To 25
If mm=count(k)
End If
Next k
Print m
End Sub
A)0B)1C)2D)3
  二、填空题
  (1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为 【1】 。
  (2)设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有 【2】 个元素。
  (3)设二叉树如下:


  对该二叉树进行后序遍历的结果为 【3】 。
(4)软件是 【4】 、数据和文档的集合。
  (5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 【5】 ,成绩)。
  (6)为了使复选框禁用(即呈现灰色),应把它的value属性设置为 【6】 。
  (7)在窗体上画一个标签、一个计时器和一个命令按钮,其名称分别为Labl1、Timer1和Command1,如图1所示。程序运行后,如果单击命令按钮,则标签开始闪烁,每秒钟“欢迎”二字显示、消失各一次,如图2所示。以下是实现上述功能的程序,请填空。
Private Sub Form_Load()
Label1.Caption="欢迎"
Timer1.Enabled=False
Timer1.Interval= 【7】
End Sub
Private Sub Timer1_Timer()
Label1.Visible= 【8】
End Sub
Private Sub command1_Click()
【9】
End Sub
  (8)有如下程序:
Private Sub Form_Click()
n=10
i=0
Do
i=i+n
n=n-2
Loop While n>2
Print i
End Sub
  程序运行后,单击窗体,输出结果为 【10】 。
(9)在窗体上画一个名称为Command1的命令按钮。然后编写如下程序:
Option Base 1
Private Sub Command1_Click()
Dim a(10) As Integer
For i=1 To 10
a(i)=i
Next
Call swap ( 【11】 )
For i=1 To 10
Print a(i)
Next
End Sub
Sub swap(b() As Integer)
n=Ubound(b)
For i=1 To n / 2
t=b(i)
b(i)=b(n)
b(n)=t
【12】
Next
End Sub
  上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……。请填空。
  (10)在窗体上画一个文本框,其名称为Text1,在属性窗口中把该文本框的MultiLine属性设置为True,然后编写如下的事件过程:
Private Sub Form_Click()
Open "d:testsmtext1.Txt" For Input As #1
Do While Not 【13】
Line Input #1, aspect$
Whole$=whole$+aspect$+Chr$(13)+Chr$(10)
Loop
Text1.Text=whole$
【14】
Open "d:testsmtext2.Txt" For Output As #1
Print #1, 【15】
Close #1
End Sub
  运行程序,单击窗体,将把磁盘文件smtext1.txt的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件smtext2.txt。请填空。

2010年3月全国计算机等级考试 二级VB 笔试试卷答案选择题
1-5 ADBAC 6-10 BADBA
11 (D) 12(B) 13(C) 14(A) 15(D)16 (C) 17(B) 18(A) 19(B) 20(A)21 (A) 22(D) 23(A) 24(D) 25(C)
26 (C) 27(A) 28(C) 29(C) 30(B)31 (C) 32(B) 33(A) 34(B) 35(D)
填空题
(1)A,B,C,D,E,F,5,4,3,2,1 (2)15 (3)EDBGHFCA (4)程序 (5)课号
(6)【6】2 (7) [7] 500 (8) [8] Not label1.visible (9) [9] Timer1.Enabled=Ture (10) [10] 28
(11) [11] a()或a(12) [12] n=n-1(13) [13] EOF(1) (14) [14] Close#1(15) [15] Text1.Text或text1

计算机二级考试模拟80题



(1)下面叙述正确的是______。

A. 算法的执行效率与数据的存储结构无关
B. 算法的空间复杂度是指算法程序中指令(或语句)的条数
C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止
D. 以上三种描述都不对
(2) 以下数据结构中不属于线性数据结构的是______。
A. 队列 B.线性表 C. 二叉树 D. 栈
(3) 在一棵二叉树上第5层的结点数最多是______。
A. 8 B. 16 C. 32 D. 15

(4) 下面描述中,符合结构化程序设计风格的是______。
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B. 模块只有一个入口,可以有多个出口
C. 注重提高程序的执行效率D. 不使用goto语句
(5) 下面概念中,不属于面向对象方法的是______。
A. 对象 B.继承 C. 类 D. 过程调用
(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______
A. 可行性分析 B. 需求分析

C. 详细设计 D. 程序编码
(7) 在软件开发中,下面任务不属于设计阶段的是______。
A. 数据结构设计 B.给出系统模块结构
C. 定义模块算法 D. 定义需求并建立系统模型
(8) 数据库系统的核心是______。
A. 数据模型 B.数据库管理系统

C. 软件工具 D. 数据库
(9) 下列叙述中正确的是______。
A. 数据库是一个独立的系统,不需要操作系统的支持
B. 数据库设计是指设计数据库管理系统
C. 数据库技术的根本目标是要解决数据共享的问题
D. 数据库系统中,数据的物理结构必须与逻辑结构一致
(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
A. 内模式 B. 外模式C. 概念模式D. 逻辑模式
(11) 算法的时间复杂度是指______。
A. 执行算法程序所需要的时间

B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数
(12) 下列叙述中正确的是______。
A. 线性表是线性结构B. 栈与队列是非线性结构
C. 线性链表是非线性结构D. 二叉树是线性结构
(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。
A. 349 B. 350 C. 255 D. 351
(14) 结构化程序设计主要强调的是______。
A. 程序的规模 B. 程序的易读性

C. 程序的执行效率 D. 程序的可移植性
(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
A. 概要设计 B. 详细设计

C. 可行性分析 D.需求分析
(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。
A. 控制流B. 加工 C. 数据存储 D. 源和潭
(17) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。
A. 阶段性报告 B. 需求评审

C. 总结 D. 都不正确
(18) 下述关于数据库系统的叙述中正确的是______。
A. 数据库系统减少了数据冗余 B.数据库系统避免了一切冗余
C. 数据库系统中数据的一致性是指数据类型的一致
D. 数据库系统比文件系统能管理更多的数据
(19) 关系表中的每一横行称为一个______。
A. 元组 B. 字段 C. 属性 D. 码
(20) 数据库设计包括两个方面的设计内容,它们是______。
A. 概念设计和逻辑设计

B. 模式设计和内模式设计
C. 内模式设计和物理设

D. 结构特性设计和行为特性设计
(21) 算法的空间复杂度是指______。
A. 算法程序的长度B. 算法程序中的指令条数
C. 算法程序所占的存储空间 D.算法执行过程中所需要的存储空间
(22) 下列关于栈的叙述中正确的是______。
A. 在栈中只能插入数据B. 在栈中只能删除数据
C. 栈是先进先出的线性表D. 栈是先进后出的线性表
(23) 在深度为5的满二叉树中,叶子结点的个数为______。
A. 32 B. 31 C. 16 D. 15
(24) 对建立良好的程序设计风格,下面描述正确的是______。
A. 程序应简单、清晰、可读性好 B.符号名的命名要符合语法
C. 充分考虑程序的执行效率 D. 程序的注释可有可无
(25) 下面对对象概念描述错误的是______。
A. 任何对象都必须有继承性

B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递 D.操作是对象的动态性属性
(26) 下面不属于软件工程的3个要素的是______。
A. 工具 B. 过程 C. 方法 D. 环境
(27) 程序流程图(PFD)中的箭头代表的是______。
A. 数据流B. 控制流C. 调用关系 D. 组成关系
(28) 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______。
A. 数据库系统 B. 文件系统

C. 人工管理 D. 数据项管理
(29) 用树形结构来表示实体之间联系的模型称为______。
A. 关系模型 B. 层次模型 C.网状模型 D. 数据模型
(30) 关系数据库管理系统能实现的专门关系运算包括______。
A. 排序、索引、统计 B.选择、投影、连接
C. 关联、更新、排序 D.显示、打印、制表
(31) 算法一般都可以用哪几种控制结构组合而成______。
A. 循环、分支、递归 B.顺序、循环、嵌套
C. 循环、递归、选择 D.顺序、选择、循环
(32) 数据的存储结构是指______。
A. 数据所占的存储空间量 B.数据的逻辑结构在计算机中的表示
C. 数据在计算机中的顺序存储方式 D.存储在外存中的数据
(33) 设有下列二叉树:
对此二叉树中序遍历的结果为______。
A. ABCDEF B. DBEAFC

C. ABDECF D. DEBFCA
(34) 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。
A. 调用语句 B. 命令 C. 口令 D. 消息
(35) 检查软件产品是否符合需求定义的过程称为______。
A. 确认测试 B. 集成测试

C. 验证测试 D. 验收测试
(36) 下列工具中属于需求分析常用工具的是______。
A. PAD B. PFD C. N-S D. DFD
(37) 下面不属于软件设计原则的是______。
A. 抽象 B. 模块化 C. 自底向上D. 信息隐蔽
(38) 索引属于______。
A. 模式B. 内模式 C. 外模式 D. 概念模式
(39) 在关系数据库中,用来表示实体之间联系的是______。
A. 树结构 B. 网结构 C. 线性表 D. 二维表
(40) 将E-R图转换到关系模式时,实体与联系都可以表示成______。
A. 属性 B. 关系 C. 键 D. 域
(41) 在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
A. 确定性B. 可行性C. 无穷性

D. 拥有足够的情报
(42) 希尔排序法属于哪一种类型的排序法______。
A. 交换类排序法 B. 插入类排序法

C. 选择类排序法 D. 建堆排序法
(43) 下列关于队列的叙述中正确的是______。
A. 在队列中只能插入数据 B.在队列中只能删除数据
C. 队列是先进先出的线性表 D. 队列是先进后出的线性表
(44) 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A. N+1 B. N C. (N+1)/2 D. N/2
(45) 信息隐蔽的概念与下述哪一种概念直接相关______。
A. 软件结构定义 B. 模块独立性 C. 模块类型划分D. 模拟耦合度
(46) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。
A. 模拟现实世界中不同事物之间的联系 B.强调模拟现实世界中的算法而不强调概念
C. 使用现实世界的概念抽象地思考问题从而自然地解决问题
D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
(47) 在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A. 详细设计 B.需求分析

C. 总体设计 D. 编程调试
(48) 软件调试的目的是______。
A. 发现错误 B. 改正错误

C. 改善软件的性能 D. 挖掘软件的潜能
(49) 按条件f对关系R进行选择,其关系代数表达式为______。
A. R|X|R B. R|X|R C. бf(R) D. ∏f(R)
(50) 数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。
A. 自顶向下 B. 由底向上

C. 由内向外 D. 由整体到局部
(51) 在计算机中,算法是指______。
A. 查询方法 B.加工方法 C. 解题方案的准确而完整的描述 D. 排序方法
(52) 栈和队列的共同点是______。
A. 都是先进后出 B.都是先进先出C. 只允许在端点处插入和删除元素 D. 没有共同点
(53) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。
A. cedba B. acbed C. decab D. deabc
(54) 在下列几种排序方法中,要求内存量最大的是______。
A. 插入排序B. 选择排序

C. 快速排序D. 归并排序
(55) 在设计程序时,应采纳的原则之一是______。
A. 程序结构应有助于读者理解B. 不限制goto语句的使用
C. 减少或取消注解行 D. 程序越短越好
(56) 下列不属于软件调试技术的是______。
A. 强行排错法 B.集成测试法 C. 回溯法 D. 原因排除法
(57) 下列叙述中,不属于软件需求规格说明书的作用的是______。
A. 便于用户、开发人员进行理解和交流
B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据
C. 作为确认测试和验收的依据
D. 便于开发人员进行需求分析
(58) 在数据流图(DFD)中,带有名字的箭头表示______。

A. 控制程序的执行顺序B. 模块之间的调用关系
C. 数据的流向 D. 程序的组成成分
(59) SQL语言又称为______。
A. 结构化定义语言 B. 结构化控制语言

C. 结构化查询语言 D. 结构化操纵语言
(60) 视图设计一般有3种设计次序,下列不属于视图设计的是______。
A. 自顶向下 B. 由外向内

C. 由内向外 D. 自底向上
(61) 数据结构中,与所使用的计算机无关的是数据的______。
A. 存储结构 B.物理结构

C. 逻辑结构 D. 物理和存储结构
(62) 栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。
A. ABCED B. DBCEA C. CDABE D. DCBEA
(63) 线性表的顺序存储结构和线性表的链式存储结构分别是______。
A. 顺序存取的存储结构、顺序存取的存储结构
B. 随机存取的存储结构、顺序存取的存储结构
C. 随机存取的存储结构、随机存取的存储结构
D. 任意存取的存储结构、任意存取的存储结构
(64) 在单链表中,增加头结点的目的是______。
A. 方便运算的实现B. 使单链表至少有一个结点
C. 标识表结点中首结点的位置

D. 说明单链表是线性表的链式存储实现
(65) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。
A. 模块间的关系B. 系统结构部件转换成软件的过程描述
C. 软件层次结构 D. 软件开发过程
(66) 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。
A. PAD图 B.N-S图 C. 结构图 D. 数据流图
(67) 数据处理的最小单位是______。
A. 数据B. 数据元素C. 数据项 D. 数据结构
(68) 下列有关数据库的描述,正确的是______。
A. 数据库是一个DBF文件B. 数据库是一个关系
C. 数据库是一个结构化的数据集合

D. 数据库是一组文件
(69) 单个用户使用的数据视图的描述称为______。
A. 外模式B. 概念模式C. 内模式 D. 存储模式
(70) 需求分析阶段的任务是确定______。
A. 软件开发方法 B. 软件开发工具
C. 软件开发费用 D.软件系统功能
(71) 算法分析的目的是______。
A. 找出数据结构的合理性 B. 找出算法中输入和输出之间的关系
C. 分析算法的易懂性和可靠性 D.分析算法的效率以求改进
(72) n个顶点的强连通图的边数至少有______。
A. n-1 B. n(n-1) C. n D. n+1
(73) 已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______。
A. 堆排序 B. 直接插入排序 C. 快速排序 D. 直接选择排序
(74) 用链表表示线性表的优点是______。
A. 便于插入和删除操作 B. 数据元素的物理顺序与逻辑顺序相同
C. 花费的存储空间较顺序存储少 D. 便于随机存取
(75) 下列不属于结构化分析的常用工具的是______。
A. 数据流图 B. 数据字典 C.判定树 D. PAD图
(76) 软件开发的结构化生命周期方法将软件生命周期划分成______。
A. 定义、开发、运行维护 B. 设计阶段、编程阶段、测试阶段
C. 总体设计、详细设计、编程调试

D. 需求分析、功能定义、系统设计
(77) 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是______。
A. 循环的集合 B. 地址的集合 C. 路径的集合 D. 目标的集合
(78) 在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有______。
A. 数据无冗余 B. 数据可共享 C. 专门的数据管理软件 D. 特定的数据模型
(79) 分布式数据库系统不具有的特点是______。
A. 分布式 B.数据冗余 C. 数据分布性和逻辑整体性 D. 位置透明性和复制透明性
(80) 下列说法中,不属于数据模型所描述的内容的是______。
A. 数据结构 B. 数据操作

C. 数据查询 D. 数据约束


答案

CCBAD BDBCA CABBD ABAAA DDCAA DBABB DBBDA DCBDB CBCBB CCBCD CCADA BDCCB CDBAB BCCAD DCBAD ACDBC

', '1', ',2010年3月全国计算机等级考试二级VB笔试试卷(含参考答案),', '计算机,全国计算机等级考试', '2010年3月全国计算机等级考试二级VB笔试试卷(含参考答案)', '0', '1', '1371097796', '1') ;INSERT INTO keke_witkey_article (`art_cat_id`, `uid`, `username`, `art_title`, `art_source`, `art_pic`, `content`, `art_type`, `label_txt`, `seo_desc`, `listorder`, `is_show`, `pub_time`, `status`) VALUES ('1', '1', '', '2012年9月计算机等级考试三级网络技术上机南开一百题', '', '', '

目录

整数排序题............................................................................................................................................... 4

☆题目1(整数排序题)...................................................................................................................... 4

☆题目2正整数排序......................................................................................................................... 4

★☆题目3(整数统计排序题)............................................................................................................ 5

☆题目4(整数统计排序题)............................................................................................................... 5

题目5(整数运算排序题)................................................................................................................ 6

★题目6(整数各位统计排序题)...................................................................................................... 6

题目7(整数统计排序题)................................................................................................................ 7

★题目8(整数排序题).................................................................................................................... 7

★题目9(整数各位数字运算排序题)................................................................................................. 8

题目10(整数各位数运算排序题).................................................................................................... 8

★☆题目11(整数各位数运算及排序题)........................................................................................ 9

整数统计运算题........................................................................................................................................ 9

★☆题目12整数统计运算题)............................................................................................................. 9

☆题目13(整数统计运算题)............................................................................................................ 10

☆题目14(整数统计运算题)......................................................................................................... 10

题目15(整数统计运算题)............................................................................................................. 11

题目16(整数统计运算题)............................................................................................................. 11

题目17(整数统计运算题)............................................................................................................. 12

☆题目18(整数统计运算题)......................................................................................................... 12

题目19(整数统计运算题)............................................................................................................. 12

题目20(整数各位数字运算题)........................................................................................................ 13

☆题目21(整数各位数字运算题)................................................................................................. 13

题目22(整数各位数字运算题).................................................................................................... 14

☆题目23(整数各位数字运算题).................................................................................................. 14

题目24(整数各位数字运算题)...................................................................................................... 15

☆题目25(整数各位数字统计运算题)........................................................................................... 15

★☆题目26(整数各位运算题)...................................................................................................... 15

题目27(整数各位数运算题)......................................................................................................... 16

☆题目28(整数各位数运算题)...................................................................................................... 16

☆题目29(整数各位运算统计题).................................................................................................. 17

☆题目30......................................................................................................................................... 18

题目31............................................................................................................................................ 18

整数各位打散组合运算题........................................................................................................................ 19

★☆题目32(整数各位打散组合运算题).......................................................................................... 19

☆题目33(整数各位打散组合运算题).............................................................................................. 19

★☆题目34(整数各位打散组合运算题)........................................................................................ 20

题目35(整数各位打散组合运算题)............................................................................................... 20

★题目36(整数各位打散组合运算题题)........................................................................................ 21

题目37(整数各位打散组合运算题)............................................................................................... 22

★题目38(整数各位打散组合运算题)........................................................................................... 22

题目39(整数各位打散组合运算题)............................................................................................... 23

素数题.................................................................................................................................................... 23

题目40(素数题)............................................................................................................................. 23

题目41(素数统计排序题)............................................................................................................. 24

★☆题目42(素数题).................................................................................................................... 24

★题目43(素数题)....................................................................................................................... 25

★题目44(素数题)....................................................................................................................... 26

★题目45(数字运算题)................................................................................................................ 26

★题目46(数字统计排序题)........................................................................................................ 27

☆题目47(数字统计排序题)........................................................................................................ 27

字符型题................................................................................................................................................. 28

题目48字符型题.............................................................................................................................. 28

★题目49(字符处理——倒序输出)............................................................................................... 29

★题目50(字符排序题)................................................................................................................ 29

★☆题目51(替换字符题)............................................................................................................... 30

☆题目52(亲朋字符替换题)......................................................................................................... 30

字符串处理题.......................................................................................................................................... 31

★☆题目53(字符串排序题)............................................................................................................ 31

☆题目54(字符串字母移位题)........................................................................................................ 32

★☆题目55(字符串左右排序交换题).......................................................................................... 32

题目56(字符串左右排序交换题)................................................................................................. 33

★题目57(字符串移位题)............................................................................................................. 33

题目58(字符串排序题)................................................................................................................ 34

★题目59(字符串左右排序题)...................................................................................................... 34

★题目60(字符ASCII值移位替换题)........................................................................................... 35

方差运算题............................................................................................................................................. 36

★☆题目61(方差运算题)............................................................................................................... 36

☆题目62(方差运算题)................................................................................................................ 36

☆题目63(方差运算题)................................................................................................................ 37

☆题目64(整数各位数运算题)...................................................................................................... 38

★题目65(字符替换题)................................................................................................................... 38

★☆题目66(字符替换题)............................................................................................................... 39

★题目67(字符替换题)................................................................................................................... 39

题目68(字符替换题)...................................................................................................................... 39

题目69(字符替换题).................................................................................................................... 40

☆题目70(字符替换题)................................................................................................................ 40

★题目71(字符替换题)............................................................................................................... 41

☆题目72(字符替换题)................................................................................................................ 41

☆题目73(字符替换题)................................................................................................................ 42

★题目74(字符替换题)................................................................................................................ 42

★题目75(字符替题).................................................................................................................... 42

★☆题目76(字符替换题)............................................................................................................. 43

☆题目77(结构体操作题)............................................................................................................... 43

★☆题目78(结构体运算题题)........................................................................................................ 44

题目79(结构体运算题)................................................................................................................ 44

★☆题目80(结构体运算题)............................................................................................................ 44

☆题目81(结构体运算题)............................................................................................................... 45

题目82(结构体运算题)................................................................................................................... 45

题目83结构体运算题...................................................................................................................... 45

题目84(结构体运算题)............................................................................................................... 46

★题目85(结构体运算题)............................................................................................................. 46

题目86(结构体排列题)................................................................................................................ 47

选票问题................................................................................................................................................. 47

题目87(选票问题)....................................................................................................................... 47

★☆题目88(选票问题)................................................................................................................... 48

☆题目89(选票问题).................................................................................................................... 48

★☆题目90(级数运算题)............................................................................................................... 49

其他问题................................................................................................................................................. 49

☆题目91(单词个数统计题)............................................................................................................ 49

★题目92(Fibonacci数列题)........................................................................................................... 50

☆题目93(迭代方法求方程题)........................................................................................................ 50

★题目94(平方根问题)................................................................................................................... 51

题目95(实数运算题)....................................................................................................................... 52

题目96(完全平方数问题)............................................................................................................... 53

★题目97(回文数问题)............................................................................................................... 53

★题目98(出圈题)....................................................................................................................... 54

☆题目99(SIX/NINE问题)............................................................................................................. 54


三级网络上机题型

整数排序题

☆题目1(整数排序题)

在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。

例:处理前6012 5099 9012 7025 8088

处理后9012 6012 7025 8088 5099

void jsSort()

int i,j,data

for(i=0i<199i++)

for(j=i+1j<200j++)

if(aa[i]%1000>aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]

for(i=0i<10i++)

bb[i]=aa[i]

☆题目2 正整数排序

在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。

例:处理前 9012 5099 6012 7025 8088

处理后5099 8088 7025 6012 9012

void jsSort()

int i,j,data

for(i=0i<199i++)

for(j=i+1j<200j++)

if(aa[i]%1000aa[j])

data=aa[i]aa[i]=aa[j]aa[j]=data

for(i=0i<10i++)

bb[i]=aa[i]

★☆题目3(整数统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,flag

for(i=0i

for(j=i+1j<=i+5j++)

if(a[i]>a[j]&&a[i]%2)flag=1

else flag=0break

if(flag==1) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j])flag=b[i]b[i]=b[j]b[j]=flag

☆题目4(整数统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,flag

for(i=0i

for(j=i+1j<=i+5j++)

if(a[i]

else flag=0 break

if(flag==1) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) flag=b[i]b[i]=b[j]b[j]=flag

题目5(整数运算排序题)

在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第二个数大于第一个数加第三个数的之和,其中满足条件的组数作为函数jsSort() 的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。

int jsSort()

int i, j, cnt=0

data ch

for(i=0i<200i++)

if(aa[i].x2>aa[i].x1+aa[i].x3) bb[cnt++]=aa[i]

for(i=0i

for(j=i+1j

if(bb[i].x2+bb[i].x3

return cnt

★题目6(整数各位统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的数输出到OUT.DAT文件中。

void jsVal()

int i,j,thou,hun,ten,data

for(i=0i

thou=a[i]/1000 hun=a[i]/100%10

ten=a[i]%100/10 data=a[i]%10

if(thou>=hun&&hun>=ten&&ten>=data&&a[i]%2)b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) thou=b[i]b[i]=b[j]b[j]=thou

题目7(整数统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,gw,sw,bw,qw

for(i=0i

gw=a[i]%10 sw=a[i]/10%10

bw=a[i]/100%10 qw=a[i]/1000

if((qw+gw)==(sw+bw)&&a[i]%2) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) qw=b[i] b[i]=b[j]b[j]=qw

★题目8(整数排序题)

下列程序的功能是:将一正整数序列K1,K2,...,K9重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现此功能,最后调用writeDat()函数将新序列输出到文件out.dat中。

说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

例:序列6,8,9,1,2,5,4,7,3

经重排后成为3,4,5,2,1,6,8,9,7

jsValue(int a[10][9])

int i,j,k,val,num

for(i=0i<10i++)

val=a[i][0]

for(j=0j<9j++)

if(a[i][j]

num=a[i][j]

for(k=jk>0k--)

a[i][k]=a[i][k-1]

a[i][0]=num

★题目9(整数各位数字运算排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j

int qw,bw,sw,gw

for (i=0i

qw=a[i]/1000 bw=a[i]%1000/100

sw=a[i]%100/10 gw=a[i]%10

if((qw<=bw)&&(bw<=sw)&&(sw<=gw)&&(a[i]%2==0)) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if (b[i]>b[j]) qw=b[i]b[i]=b[j]b[j]=qw

题目10(整数各位数运算排序题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+1。

8129,8+1<>2+9,则该数不满足条件忽略。

jsValue()

int i,j,qw,bw,sw,gw

for(i=0i<300i++)

qw=a[i]/1000 bw=a[i]/100%10

sw=a[i]%100/10 gw=a[i]%10

if(qw+bw==sw+gw) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

★☆题目11 (整数各位数运算及排序题)

在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的和,其中满足条件的组数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出到

文件out.dat中。

int jsSort()

int i,j,cnt=0

data xy

for(i=0i<200i++)

if(aa[i].x1>(aa[i].x2+aa[i].x3)) bb[cnt++]=aa[i]

for(i=0i

for(j=i+1j

if(bb[i].x1+bb[i].x3>bb[j].x1+bb[j].x3) xy=bb[i] bb[i]=bb[j] bb[j]=xy

return cnt

整数统计运算题

★☆题目12整数统计运算题)

已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。

voidCalValue(void)

int i,data

for(i=0i

if(xx[i]>0)

totNum++

data=xx[i]>>1

if(data%2==0)totCnt++totPjz+=xx[i]

if(totCnt==0) totPjz=0

else totPjz/=totCnt

☆题目13(整数统计运算题)

已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:

1、求出这文件中共有多少个正整数totNum;

2、求这些数中的各位数字之和是偶数的数的个数totCnt,

以及满足此条件的这些数的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。

void CalValue(void)

int i,qw,bw,sw,gw

for(i=0i

if(xx[i]>0)

totNum++

qw=xx[i]/1000

bw=xx[i]/100%10

sw=xx[i]%100/10

gw=xx[i]%10

if((qw+bw+sw+gw)%2==0) totCnt++ totPjz+=xx[i]

if(totCnt==0) totPjz=0

else totPjz/=totCnt

☆题目14(整数统计运算题)

已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。

void CalValue(void)

int i ,qw,bw,sw,gw

for(i=0i

if(xx[i]>0)

totNum++

qw=xx[i]/1000 bw=xx[i]/100%10

sw=xx[i]%100/10 gw=xx[i]%10

if((qw+bw+sw+gw)%2) totCnt++ totPjz+=xx[i]

if(totCnt==0) totPjz=0

else totPjz/=totCnt

题目15(整数统计运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值减去百位数字上的值再减去十位数字上的值最后减去个位数字上的值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

void jsVal()

int i,j,thou,hun,ten,data

for(i=0i<200i++)

thou=a[i]/1000 hun=a[i]%1000/100

ten=a[i]%100/10 data=a[i]%10

if(thou-hun-ten-data>=0&&a[i]%2) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) thou=b[i] b[i]=b[j]b[j]=thou

题目16(整数统计运算题)

已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。

void CalValue(void)

int i,data

for(i=0i

if(xx[i]>0)

totNum++

data=xx[i]>>1

if(data%2)totCnt++totPjz+=xx[i]

if(totCnt==0) totPjz=0

else totPjz/=totCnt

题目17(整数统计运算题)

请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx下标为偶数的元素值的算术平均值pj(保留2位小数)。

sum=0 pj=0.0 cnt1=cnt2=0

for(i=0i

if(xx[i]%2) cnt1++

else cnt2++

if(i%2==0) pj+=xx[i]sum++

pj/=sum

☆题目18(整数统计运算题)

请编制程序prog1.c,从文件IN.DAT中读取200个整数至数组xx中,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。

cnt=0 max=xx[0] pj=0.0 n=0

for(m=0m

if(max

for(m=0m

if(xx[m]==max) cnt++

if(xx[m]%3==0||xx[m]%7==0)

pj+=xx[m] n++

pj/=n

题目19(整数统计运算题)

请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx中值为偶数的算术平均值pj(保留2位小数)。

结果cnt1,cnt2,pj输出到out.dat中。

cnt1=0 cnt2=0 pj=0.0

for(m=0m

if(xx[m]%2) cnt1++

else cnt2++ pj+=xx[m]

if(cnt2==0) pj=0

else pj/=cnt2

题目20(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。

9812,9-8-1-2>0,则该数不满足条件忽略。

jsValue()

int i,j,qw,bw,sw,gw

for(i=0i<300i++)

qw=a[i]/1000 bw=a[i]/100%10

sw=a[i]%100/10gw=a[i]%10

if(qw-bw-sw-gw>0)b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if( b[i]>b[j]) qw=b[i] b[i]=b[j] b[j]=qw

☆题目21(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。

8129,8+9<>1+2,则该数不满足条件忽略

jsValue()

int i,qw,bw,sw,gw,j

for(i=0i<300i++)

qw=a[i]/1000 bw=a[i]%1000/100

sw=a[i]%100/10 gw=a[i]%10

if(qw+gw==bw+sw) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) qw=b[i] b[i]=b[j] b[j]=qw

题目22(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:9123,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2。

jsValue()

int i,qw,bw,sw,gw,n=0

for(i=0i<300i++)

qw=a[i]/1000 bw=a[i]%1000/100

sw=a[i]%100/10 gw=a[i]%10

if(qw-bw-sw-gw>0) cnt++pjz1+=a[i]

else n++pjz2+=a[i]

if(cnt==0) pjz1=0

else pjz1/=cnt

if(n==0) pjz2=0

else pjz2/=n

☆题目23(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。

jsValue()

int i,j,qw,bw,sw,gw

for(i=0i<300i++)

qw=a[i]/1000 bw=a[i]/100%10

sw=a[i]%100/10 gw=a[i]%10

if((qw-bw-sw-gw)>0) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) qw=b[i]b[i]=b[j]b[j]=qw

题目24(整数各位数字运算题)

下列程序的功能是:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT13.DAT中。

void countValue()

int i,thou,hun,ten,data

for(i=1000i<5000i++)

thou=i/1000 hun=i%1000/100

ten=i%100/10 data=i%10

if(thou+hun==ten+data&&thou+hun==(data-thou)10)cnt++sum+=i

☆题目25(整数各位数字统计运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,thou,hun,ten,data

for(i=0i<200i++)

thou=a[i]/1000 hun=a[i]%1000/100

ten=a[i]%100/10 data=a[i]%10

if(thou&&thou%2&&hun%2&&ten%2&&data%2) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

★☆题目26(整数各位运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,thou,hun,ten,data

for(i=0i

thou=a[i]/1000 hun=a[i]/100%10

ten=a[i]%100/10 data=a[i]%10

if((thou+ten==hun+data)&&a[i]%2==0) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) thou=b[i]b[i]=b[j]b[j]=thou

题目27(整数各位数运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:1239,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。

8129,9-8-1-2<0,则该数不满足条件计算平均值pjz2。

jsValue()

int i,j,thou,hun,ten,data,n=0

for(i=0i<300i++)

thou=a[i]/1000 hun=a[i]/100%10

ten=a[i]%100/10 data=a[i]%10

if(data-thou-hun-ten>0) cnt++ pjz1+=a[i]

else n++ pjz2+=a[i]

if(cnt==0) pjz1=0

else pjz1/=cnt

if(n==0) pjz2=0

else pjz2/=n

☆题目28(整数各位数运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+1<>2+9,则该数不满足条件计算平均值pjz2。

jsValue()

int i,thou,hun,ten,data,n=0

for(i=0i<300i++)

thou=a[i]/1000 hun=a[i]%1000/100

ten=a[i]%100/10 data=a[i]%10

if(thou+hun==ten+data) cnt++pjz1+=a[i]

else n++pjz2+=a[i]

if(cnt==0) pjz1=0

else pjz1/=cnt

if(n==0) pjz2=0

else pjz2/=n

☆题目29(整数各位运算统计题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数等于百位数上的数加十位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到out.dat文件。

例如:6712,6+2=7+1,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+9<>1+2,则该数不满足条件计算平均值pjz2。

jsValue()

int i,gw,sw,bw,qw,cnt2=0

for(i=0i<300i++)

gw=a[i]%10 sw=a[i]/10%10

bw=a[i]/100%10 qw=a[i]/1000

if((qw+gw)==(sw+bw)) cnt++pjz1+=a[i]

else cnt2++pjz2+=a[i]

if(cnt==0) pjz1=0

else pjz1/=cnt

if(cnt2==0) pjz2=0

else pjz2/=cnt2

☆题目30

请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。

最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。

部分源程序存在文件prog1.c中。

例如:若输入17 5 则应输出:19,23,29,31,37。

请勿改动主函数main()和写函数writeDat()的内容。

int isP(int m)

int i

for(i=2i

if(m % i==0)return 0

return 1

void num(int m,int k,int xx[])

int s=0

for(m=m+1k>0m++)

if(isP(m)) xx[s++]=mk--

题目31

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,qw,bw,sw,gw

for(i=0i

qw=a[i]/1000bw=a[i]/100%10

sw=a[i]%100/10gw=a[i]%10

if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0)b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

整数各位打散组合运算题

★☆题目32(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,thou,hun,ten,data,ab,cd

for(i=0i<200i++)

thou=a[i]/1000 hun=a[i]%1000/100

ten=a[i]%100/10 data=a[i]%10

ab=10thou+ten cd=10data+hun

if((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&ab>=10&&cd>=10)

b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

☆题目33(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。

void jsVal()

int i,j,qw,bw,sw,gw,ab,cd

for(i=0i

qw=a[i]/1000 bw=a[i]/100%10

sw=a[i]%100/10gw=a[i]%10

ab=qw10+sw cd=gw10+bw

if(ab-cd>=10&&ab-cd<=20&&ab%2==0&&cd%2==0&&qw!=0&&gw!=0)

b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

★☆题目34(整数各位打散组合运算题)

没有提供求素数函数isprime() ,可自己编制

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数均是素数且新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

int isprime(int m)

int i

for(i=2i<=m/2i++)

if(m%i==0) return 0

return 1

void jsVal()

int i,j,qw,bw,sw,gw

int ab,cd

for(i=0i<200i++)

qw=a[i]/1000 bw=a[i]%1000/100

sw=a[i]%100/10 gw=a[i]%10

ab=10qw+sw cd=10gw+bw

if(isprime(ab)&&isprime(cd)&&ab>=10&&cd>=10)b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

题目35(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,thou,hun,ten,data,j

int ab,cd

for(i=0i

thou=a[i]/1000 hun=a[i]%1000/100

ten=a[i]%100/10 data=a[i]%10

ab=10thou+data cd=10hun+ten

if(ab%2&&cd%2&&(ab%5==0||cd%5==0)&&ab>=10&&cd>=10)b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

★题目36(整数各位打散组合运算题题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,thou,hun,ten,data,j

int ab,cd

for(i=0i

thou=a[i]/1000 hun=a[i]/100%10

ten=a[i]%100/10 data=a[i]%10

ab=10thou+ten cd=10data+hun

if(((ab-cd)<0&&ab%2==1&&ab%5!=0)&&cd%2!=1&&ab>=10&&cd>=10)

b[cnt]=a[i]cnt++

for(i=0i

for(j=i+1j

if(b[i]

题目37(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是偶数并且两个十位数中至少有一个数能被9整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,thou,hun,ten,data,ab,cd

for(i=0i<200i++)

thou=a[i]/1000 hun=a[i]/100%10

ten=a[i]%100/10 data=a[i]%10

ab=10data+thou cd=10hun+ten

if((ab%9==0||cd%9==0)&&ab%2==0&&cd%2==0&&hun!=0&&data!=0)

b[cnt]=a[i]cnt++

for(i=0i

for(j=i+1j

if(b[i]

★题目38(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数并且两个十位数中至少有一个数能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到

OUT.DAT文件中。

void jsVal()

int i,j,thou,hun,ten,data,ab,cd

for(i=0i

thou=a[i]/1000 hun=a[i]/100%10

ten=a[i]%100/10 data=a[i]%10

ab=10data+thou cd=10hun+ten

if((ab%2!=cd%2)&&((ab%17==0||cd%17==0)&&ab>=10&&cd>=10))

b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

题目39(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,thou,hun,ten,data,ab,cd

for(i=0i

thou=a[i]/1000 hun=a[i]%1000/100

ten=a[i]%100/10 data=a[i]%10

ab=10thou+ten cd=10data+hun

if((ab-cd)>0&&(ab%2!=1&&ab%5==0)&&cd%2==1&&ab>=10&&cd>=10)

b[cnt]=a[i]cnt++

for(i=0i

for(j=i+1j

if(b[i]

20/2

素数题

题目40(素数题)

无忧id 102 题提供了求素数isPrime()函数

程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请考生编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件bc10.out中。

int isPrime(intm)

int i

for(i=2i

if(m % i==0)return 0

return 1

void countValue()

int i,j,bw,sw,gw

for(i=100i<1000i++)

bw=i/100 sw=i%100/10 gw=i%10

if(isPrime(i)&&(gw+sw)%10==bw) cnt++ sum+=i

题目41(素数统计排序题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。9812是非素数,则该数不满足条件忽略。

int isP(int m)

int i

for(i=2i

if(m%i==0)return 0

return 1

jsValue()

int i,j,value

for(i=0i<300i++)

if(isP(a[i])) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) value=b[i] b[i]=b[j] b[j]=value

★☆题目42(素数题)

下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countValue()实现程序要求的功能,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。

int isPrime(int m)

int i

for(i=2 i

if(m % i ==0) return 0

return 1

void countValue()

int i

for(i=2i<=90i++)

if(isPrime(i)&&isPrime(i+4)&&isPrime(i+10))

cnt++sum+=i

运行结果为:

满足条件的整数的个数=7

满足条件的整数的和值=201

★题目43(素数题)

下列程序prog1.c的功能是:计算500-800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数...的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT11.DAT中。

int isP(int m)

int i

for(i=2i

if(m % i==0)return 0

return 1

void countValue()

int i,j,k=1

for(i=800i>500i--)

if(isP(i))

cnt++

sum=sum+ki

k=k(-1)

★题目44(素数题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果cnt,pjz1,pjz2输

出到out.dat文件。

例如:5591是素数,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。

9812是非素数,则该数不满足条件计算平均值pjz2。

int isP(int m)

int i

for(i=2i

if(m%i==0)return 0

return 1

jsValue()

int i

for(i=0i<300i++)

if(isP(a[i])) pjz1+=a[i]cnt++

else pjz2+=a[i]

if(cnt==0) pjz1=0

else pjz1/=cnt

if(300-cnt==0) pjz2=0

else pjz2/=(300-cnt)

★题目45(数字运算题)

请编写函数void countValue(int a,int n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。

void countValue(int a,int n)

int i

n=0

for(i=1i<=1000i++)

if(i%7==0&&i%11||i%7&&i%11==0)

a[(n)++]=i

★题目46(数字统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是偶数(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,flag

for(i=5i

for(j=i-5j

if(a[i]>a[j]&&a[i]%2==0)flag=1

else flag=0 break

if(flag==1) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

☆题目47(数字统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是奇数,且该数必须能被7整除(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,flag

for(i=5i

for(j=i-5j

if(a[i]>a[j]&&a[i]%2&&a[i]%7==0) flag=1

else flag=0break

if(flag==1) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]

字符型题

题目48字符型题

函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DAT中

void StrOR(void)

int i,righto,j,s,k

char tem[80]

for(i=0i

for(j=strlen(xx[i])-1j>=0j--)

k=0
memset(tem,0,80)//初始化数组tem

if(xx[i][j]=='o')

righto=j

for(s=righto+1s

tem[k++]=xx[i][s]

for(s=0s

if(xx[i][s]!='o')

tem[k++]=xx[i][s]

strcpy(xx[i],tem)

else

continue

书上答案

void StrOR(void)

int i,j,k,index,strl

char ch

for(i=0i

strl=strlen(xx[i])

index=strl

for(j=0j

if(xx[i][j]=='o')

for(k=jk

xx[i][k]=xx[i][k+1]

xx[i][strl-1]= ' '

index=j

for(j=strl-1j>=indexj--)

ch=xx[i][strl-1]

for(k=strl-1k>0k--)

xx[i][k]=xx[i][k-1]

xx[i][0]=ch

★题目49(字符处理——倒序输出)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。

例如:原文:You He Me

I am a student.

     结果:Me He You

student a amI

void StrOL(void)

int i,j,k,s,m,strl

char str[80]

for(i=0i

strl=strlen(xx[i])

memset(str,0,80)

s=k=0

for(j=strl-1j>=0j--)

if(isalpha(xx[i][j])) k++

else for(m=1m<=km++)

str[s++]=xx[i][j+m]

k=0

if(!isalpha(xx[i][j]))

str[s++]=' '

for(m=1m<=km++)

str[s++]=xx[i][j+m]

str[s]='0'

strcpy(xx[i],str)

★题目50(字符排序题)

函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

例如:位置   01234567

     源字符串 a b c d e f g h

则处理后字符串 a h c f e d g b

void jsSort()

int i,j,k,strl

char ch

for(i=0i<20i++)

strl=strlen(xx[i])

for(j=1j

for(k=j+2k

if(xx[i][j]>xx[i][k]) ch=xx[i][j]xx[i][j]=xx[i][k]xx[i][k]=ch

★☆题目51(替换字符题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DAT中。

例:原文:Adb.Bcdza

abck.LLhj

结果:Aec.Bdeab

bcdl.LLik

voidConvertCharA(void)

int i,j

for(i=0i

for(j=0j

if(xx[i][j]=='z')xx[i][j]='a'

elseif(xx[i][j]>='a'&&xx[i][j]<='y') xx[i][j]+=1

☆题目52(亲朋字符替换题)

函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.

void ChA(void)

int i,j

char ch

for(i=0i

ch=xx[i][0]

for(j=0j

xx[i][j]+=xx[i][j+1]

xx[i][strlen(xx[i])-1]+=ch

strrev(xx[i]) //进行逆转

☆题目18

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。

替代关系:f(p)=p11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]11%256<=32||xx[i][j]%2==0) continue

elsexx[i][j]=xx[i][j]11%256

字符串处理题

★☆题目53(字符串排序题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT2.DAT中。

例:原文:dAe,BfC.

CCbbAA

结果:fedCBA.

bbCCAA

void SortCharD(void)

int i,j,k,strl

char ch

for(i=0i

strl=strlen(xx[i])

for(j=0j

for(k=j+1k

if(xx[i][j]

ch=xx[i][j] xx[i][j]=xx[i][k]xx[i][k]=ch

☆题目54(字符串字母移位题)

程序prog1.c的功能是:把 s 字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。

请考生编写函数chg(char s)实现程序要求,最后调用函数readwriteDAT( )把结果输出到文件bc1.out中。

例如:s 字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为:No.123Ayz。

void chg(char s)

int I

for(I=0I

if(s[i]=='z'||s[i]=='Z') s[i]-=25

else if(s[i]>='a'&&s[i]<='y'||s[i]>='A'&&s[i]<='Y') s[i]+=1

★☆题目55(字符串左右排序交换题)

函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

  条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

 例如:位置   012345678

     源字符串 a b c d h g f e

1 2 3 4 9 8 7 6 5

则处理后字符串 h g f e d c b a

8 7 6 5 9 4 3 2 1

void jsSort()

int i,j,k,strl,half

char temp

for(i=0i<20i++)

strl=strlen(xx[i])

half=strl/2

for(j=0j

for(k=j+1k

if(xx[i][j]

temp=xx[i][j] xx[i][j]=xx[i][k]xx[i][k]=temp

for(j=half-1,k=strl-1j>=0j--,k--)

temp=xx[i][j] xx[i][j]=xx[i][k]xx[i][k]=temp

题目56(字符串左右排序交换题)

函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

  条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

 例如:位置   012345678

     源字符串 d c b a h g f e

4 3 2 1 9 8 7 6 5

则处理后字符串 h g f e a b c d

8 7 6 5 9 1 2 3 4

A b c d h g f e

1 2 3 4 9 8 7 6 5

void jsSort()

int i,j,k,strl,half

char temp

for(i=0i<20i++)

strl=strlen(xx[i])

half=strl/2

for(j=0j

for(k=j+1k

if(xx[i][j]>xx[i][k])

temp=xx[i][j] xx[i][j]=xx[i][k]xx[i][k]=temp

for(j=half-1,k=strl-1j>=0j--,k--)

temp=xx[i][j] xx[i][j]=xx[i][k] xx[i][k]=temp

★题目57(字符串移位题)

程序prog1.c的功能是:把 s 字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请考生编写函数chg(chars)实现程序要求,最后调用函数readwriteDAT( )把结果输出到bc2.out文件中。

例如:s字符串中原有内容为:Mn.123xyZ,则调用该函数后,结果为:n.123xyZM。

void chg(char s)

int i

char ch=s//换成:ch=s[0]

for(i=0i

s[i]=s[i+1]

s[strlen(s)-1]=ch

题目58(字符串排序题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharA(),其函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DAT中。

例:原文:dAe,BfC.

CCbbAA

结果:,.ABCdef

AACCbb

void SortCharA(void)

int i,j,k,strl

char ch

for(i=0i

strl=strlen(xx[i])

for(j=0j

for(k=j+1k

if(xx[i][j]>xx[i][k])

ch=xx[i][j] xx[i][j]=xx[i][k] xx[i][k]=ch

★题目59(字符串左右排序题)

函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

  条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。

  例如:位置   012345678

     源字符串 a b c d h g f e

1 2 3 4 9 8 7 6 5

则处理后字符串 d c b a e f g h

4 3 2 1 9 5 6 7 8

void jsSort()

int i,j,k,strl,half

char ch

for(i=0i<20i++)

strl=strlen(xx[i])

half=strl/2

for(j=0j

for(k=j+1k

if(xx[i][j]

if(strl%2) half++

for(j=halfj

for(k=j+1k

if(xx[i][j]>xx[i][k]) ch=xx[i][j]xx[i][j]=xx[i][k]xx[i][k]=ch

★题目60(字符ASCII值移位替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJL(),其函数的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,低位补0,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT7.DAT中。

char xx[50][80]

intmaxline=0/文章的总行数/

intReadDat(void)

voidWriteDat(void)

void StrCharJL(void)

int i,j

char c

for(i=0i

for(j=0j

c=xx[i][j]<<4

if(!(c<=32||c>100))xx[i][j]+=c

方差运算题

★☆题目61(方差运算题)

请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中偶数的个数even,奇数的平均值ave1,偶数的平均值ave2以及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。

计算方差的公式如下:

N 2

totfc=1/N∑ (xx[i]-ave2)

i=1

设N为偶数的个数,xx[i]为偶数,ave2为偶数的平均值。

原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)

/编制函数ReadDat()的部分/

for(i=0i

fscanf(fp,"%d,",&xx[i])

if((i+1)%10==0)

fscanf(fp,"n")

//

void Compute(void)

int i,yy[MAX]

for(i=0i

yy[i]=0

for(i=0i

if(xx[i]%2==0) yy[even++]=xx[i] ave2+=xx[i]

else odd++ ave1+=xx[i]

if(odd==0) ave1=0

else ave1/=odd

if(even==0) ave2=0

else ave2/=even

for(i=0i

totfc+=(yy[i]-ave2)(yy[i]-ave2)/even

☆题目62(方差运算题)

请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。

计算方差的公式如下:

N 2

totfc=1/N ∑ (xx[i]-ave1)

i=1

设N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。

原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)

/编制函数ReadDat()的部分/

for(i=0i

fscanf(fp,"%d,",&xx[i])

if((i+1)%10==0)

fscanf(fp,"n")

//

void Compute(void)

int i,yy[MAX]

for(i=0i

yy[i]=0

for(i=0i

if(xx[i]%2) yy[odd++]=xx[i] ave1+=xx[i]

else even++ ave2+=xx[i]

if(odd==0) ave1=0

else ave1/=odd

if(even==0) ave2=0

else ave2/=even

for(i=0i

totfc+=(yy[i]-ave1)(yy[i]-ave1)/odd

☆题目63(方差运算题)

请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute(),分别计算出xx中奇数的个数odd,偶数的个数even,平均值aver以及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。

计算方差的公式如下:

N 2

totfc=1/N ∑ (xx[i]-aver)

i=1

原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)

/编制函数ReadDat()/

for(i=0i

fscanf(fp,"%d,",&xx[i])

if((i+1)%10==0)

fscanf(fp,"n")

void Compute(void)

int i

for(i=0i

if(xx[i]%2) odd++

else even++

aver+=xx[i]

aver/=MAX

for(i=0i

totfc+=(xx[i]-aver)(xx[i]-aver)

totfc/=MAX

☆题目64(整数各位数运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

int i,j,thou,hun,ten,data

for(i=0i

thou=a[i]/1000 hun=a[i]/100%10

ten=a[i]%100/10 data=a[i]%10

if(data-thou-hun-ten>=0&&a[i]%2==0) b[cnt++]=a[i]

for(i=0i

for(j=i+1j

if(b[i]>b[j]) thou=b[i]b[i]=b[j]b[j]=thou

★题目65(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS1.DAT中。

 替代关系:f(p)=p11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。(注意中间变量用无符号整型),部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]11%256<=32||xx[i][j]11%256>130) continue

elsexx[i][j]=xx[i][j]11%256

★☆题目66(字符替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT8.DAT中。

voidStrCharJR()

int i,j

for(i=0i

for(j=0j

xx[i][j]+=(xx[i][j]>>4)(右移四位的表达方式)

★题目67(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件pS6.DAT中。

替代关系:f(p)=p11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]11%256<=32||xx[i][j]11%256>='0'&&xx[i][j]11%256<='9')continue

elsexx[i][j]=xx[i][j]11%256

题目68(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS7.DAT中。

替代关系:f(p)=p11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]11%256<=32||xx[i][j]>='A'&&xx[i][j]<='Z')continue

elsexx[i][j]=xx[i][j]11%256

题目69(字符替换题)

  函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。

  替代关系:f(p)=p11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]11%256<=32||xx[i][j]11%256>='a'&&xx[i][j]11%256<='z')continue

else xx[i][j]=xx[i][j]11%256

☆题目70(字符替换题)

无忧id 9 题条件微有不同

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS2.DAT中。

  替代关系:f(p)=p13 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是偶数,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]13%256<=32||(xx[i][j]13%256)%2==0) continue

else xx[i][j]=xx[i][j]13%256

★题目71(字符替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConverCharD(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其它字符不变。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT4.DAT中。

例:原文:Adb.Bcdza

abck.LLhj

结果:Aca.Bbcyz

zabj.LLgi

void ConvertCharD(void)

int i,j

for(i=0i

for(j=0j

if(xx[i][j]=='a')xx[i][j]='z'

else if(xx[i][j]>='b'&&xx[i][j]<='z')xx[i][j]-=1

☆题目72(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS4.DA中。

  替代关系:f(p)=p11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]11%256<=32||xx[i][j]11%256>='A'&&xx[i][j]11%256<='Z')continue

else xx[i][j]=xx[i][j]11%256

☆题目73(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。

  替代关系:f(p)=p11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]11%256<=32||xx[i][j]>='a'&&xx[i][j]<='z')continue

else xx[i][j]=xx[i][j]11%256

★题目74(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS9.DAT中。

  替代关系:f(p)=p11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]11%256<=32||xx[i][j]>='0'&&xx[i][j]<='9')continue

else xx[i][j]=xx[i][j]11%256

★题目75(字符替题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS3.DAT中。

  替代关系:f(p)=p17 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

int i,j

for(i=0i

for(j=0j

if(xx[i][j]17%256<=32||(xx[i][j]17%256)%2!=0) continue

else xx[i][j]=xx[i][j]17%256

★☆题目76(字符替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数CharConvA(),其函数的功能是:以行为单位把字符串中的最后一个字符的ASCII值右移4位,高位补0后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位,高位补0后加最后第三个字符的ASCII值,得到最后第二个新的字符,依此类推一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT10.DAT中。

void CharConvA()

int i,j

char p,c

for(i=0i

p=xx[i][strlen(xx[i])-1]

c=xx[i][0]

for(j=strlen(xx[i])-1j>0j--)

xx[i][j]=(xx[i][j]>>4)+xx[i][j-1]

xx[i][0]=p+c

☆题目77(结构体操作题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++)

if(strcmp(sell[i].dm,sell[j].dm)<0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je

xy=sell[i] sell [i]=sell[j]sell[j]=xy

★☆题目78(结构体运算题题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:

按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++)

if(strcmp(sell[i].mc,sell[j].mc)>0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je>sell[j].je)

xy=sell[i]sell[i]=sell[j]sell[j]=xy

题目79(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能

要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT9.DAT中。

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++)

if(strcmp(sell[i].dm,sell[j].dm)>0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je

xy=sell[i]sell[i]=sell[j]sell[j]=xy

★☆题目80(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat() 把结果输出到文件OUT4.DAT中。

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++) if(sell[i].je

xy=sell[i]sell[i]=sell[j]sell[j]=xy

☆题目81(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中

,最后调用函数WriteDat()把结果输出到文件OUT7.DAT中。

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++) if(strcmp(sell[i].mc,sell[j].mc)<0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je>sell[j].je)

xy=sell[i]sell[i]=sell[j]sell[j]=xy

题目82(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++)

if(strcmp(sell[i].dm,sell[j].dm)>0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je>sell[j].je)

xy=sell[i]sell[i]=sell[j]sell[j]=xy

题目83 结构体运算题

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。

部分源程序存在文件prog1.c中。

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++)

if(strcmp(sell[i].mc,sell[j].mc)<0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je

xy=sell[i]sell[i]=sell[j]sell[j]=xy

题目84(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++)

if(sell[i].je0)

xy=sell[i]sell[i]=sell[j]sell[j]=xy

★题目85(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++)

if(sell[i].je>sell[j].je||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)<0)

xy=sell[i] sell[i]=sell[j] sell[j]=xy

题目86(结构体排列题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。

void SortDat()

int i,j

PRO xy

for(i=0i<99i++)

for(j=i+1j<100j++)

if(sell[i].je>sell[j].je||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)>0)

xy=sell[i]sell [i]=sell[j]sell[j]=xy

选票问题

题目87(选票问题)

现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中。

void CountRs(void)

int i,j,count

for(i=0i<100i++)

count=0

for(j=0j<10j++) //无效选票的判定,每一行表示一个人的投票情况

if(xx[i][j]=='1') count++

if(count<=5) continue

for(j=0j<10j++)

if(xx[i][j]=='1') yy[j]++

★☆题目88(选票问题)

现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中

void CountRs(void)

int i,j,count

for(i=0i<100i++)

count=0

for(j=0j<10j++)

if(xx[i][j]=='1')count++

if(count==0||count==10)continue

for(j=0j<10j++)

if(xx[i][j]=='1')yy[j]++

☆题目89(选票问题)

现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数大于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中。

void CountRs(void)

int i,j,count

for(i=0i<100i++)

count=0

for(j=0j<10j++)

if(xx[i][j]=='1') count++

if(count>5) continue

for(j=0j<10j++)

if(xx[i][j]=='1') yy[j]++

★☆题目90(级数运算题)

某级数的前两项A1=1,A2=1,以后各项具有如下关系:

An=An-2+2An-1(注:n-2与n-1为下标)

下列程序prog1.c的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:Sn=M,这里Sn=A1+A2+...+An,并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制jsValue()函数来实现此功能,最后调用函数writeDat()把数组b[]中的值输出到out.dat文件中。

请勿改动主函数main()和写函数writeDat()的内容。

#include

int b[3]

jsValue()

int a1=1,a2=1,a12,sn,k=2

sn=a1+a2

while(1)

a12=a1+2a2

if(sn<100&&sn+a12>=100) b[0]=k

if(sn<1000&&sn+a12>=1000) b[1]=k

if(sn<10000&&sn+a12>=10000) b[2]=kbreak

sn=sn+a12

a1=a2a2=a12

k++

运行结果为:

M=100,n=6

M=1000,n=9

M=10000,n=11

其他问题

☆题目91(单词个数统计题)

编写一个函数findStr(char str,char substr),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asdas zx67 asd mklo",子字符串为"as",函数返回值是6。(表明了返回值是整数型)

函数ReadWrite()实现从文件in.dat中读取两个字符串,并调用函数findStr(),最后把结果输出到文件out.dat中。

int findStr(char str,char substr)

int i,j,len1,len2,cnt=0,flag

len1=strlen(str)

len2=strlen(substr)

for(i=0i

for(j=0j

if(str[i+j]==substr[j]) flag=1

else flag=0break

if(flag==1) cnt++

return cnt

★题目92(Fibonacci数列题)

编写函数jsValue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:

F(0)=0,F(1)=1

F(n)=F(n-1)+F(n-2)

最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。

例如:当t=1000时,函数值为:1597。

int jsValue(int t)

int f0=0,f1=1,fn

fn=f0+f1

while(fn<=t)

f0=f1

f1=fn

fn=f0+f1

return fn

☆题目93(迭代方法求方程题)

下列程序prog1.c的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。

Xn+1=cos(Xn)

迭代步骤如下:

(1)取X1初值为0.0;

(2)X0=X1,把X1的值赋给X0;

(3)X1=cos(X0),求出一个新的X1;

(4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。

请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT17.DAT中。

floatcountValue()

float x0,x1

x1=0.0

do x0=x1

x1=cos(x0)

while(fabs(x0-x1)>=0.000001)

return x1

注:本题在无忧或捷成模拟盘中,需定义double x0,x1才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考。

★题目94(平方根问题)

请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。

例如若n为1000时,函数值应为:s=153.909064。

double countValue(int n)

int i

double s=0.0

for(i=1i

if(i%21==0) s+=i

return sqrt(s)

实例如下:

#include

#include

doublecountValue(int n)

int i

double s=0.0

for(i=1i

if(i%21==0) s+=i

return sqrt(s)

s=s+i

s+=i

voidmain()

/

请编写函数countValue(),它的功能是:

求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,

并作为函数值返回,最后结果s输出到文件out.dat中。

例如若n为1000时,函数值应为:s=153.909064。

int sum,i,n

double s

n=1000

sum=0

for(i=7i

if(i%3==0&&i%7==0)

sum=sum+i

s=sqrt(sum)

printf("%fn",s)

/

double s

s=countValue(1000)

printf("%fn",s)

题目95 (实数运算题)

已知在文件in.dat中存有N个(个数<200)实数,函数readdat()读取这N个实数并存入数组xx中。请编制函数calvalue(),其功能要求:

1、求出这N个实数的平均值aver;

2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。

注意:部分源程序已给出。

voidCalValue(void)

int i

for (i=0i

sumint+=(long)xx[i]

sumdec+=xx[i]-(long)xx[i]

aver+=xx[i]

aver/=N

题目96(完全平方数问题)

下列程序prog1.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。

请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。

int jsValue(int bb[])

int i,j,k=0

int hun,ten,data

for(i=10i<32i++)

j=II

hum=j/100

ten=j%100/10

data=j%10

if(hum==ten||hum==data||ten==data)

bb[k++]=j

return k

★题目97 (回文数问题)

下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int svalue(long m)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat中。

int jsValue(long n)

int i,strl,half

char xy[20]

ltoa(n,xy,10) /注意这里不能使用itoa()函数,因为n是long 型的/

strl=strlen(xy)

half=strl/2

for(i=0i

if(xy[i]!=xy[--strl]) break

if(i>=half) return 1

else return 0

或者下面的解法:

int jsValue(long n)

long int s=0,k

k=n

while(k)

s=s10+k%10

k/=10

if(s==n) return 1

if(s!=n) return 0

输出结果为:

m= 11,mm= 121,mmm= 1331

m= 101,mm=10201,mmm= 1030301

m= 111,mm=12321,mmm= 1367631

★题目98(出圈题)

(本题采用实际上机题,05年9月和04年9月实际上机题与下面相同)

设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数, 报数到第m个人, 此人出圈, 再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,给出这n个人的顺序表p。请考生编制函数Josegh()实现此功能并调用函数WriteDat()把编号按照出圈的顺序输出到OUT.DAT文件中。
注意:第1个出圈的编号存放在p[0]中,第2个出圈的编号存放在p[1]中,直至第n个出圈的编号存放在p[n-1]中。
设 n = 100, s = 1, m = 10进行编程。

void Josegh(void)
int i,j,s1,w,q[100]
for(i=0i s1=s
for(i=1 i<=n i++) p[i-1]=i
for(i=n i>=2 i--)
s1=(s1+m-1)%i
if(s1==0) s1=i
w=p[s1-1]
for(j=s1 j p[i-1]=w

for(i=0,j=n-1i=0i++,j--) q[j]=p[i]
for(i=0i p[i]=q[i]

☆题目99(SIX/NINE问题)

下列程序prog1.c的功能是:计算出自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt以及满足此条件所有的SIX与NINE的和SUM。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT15.DAT中。

其中的S,I,X,N,E各代表一个十进制数字。

部分源程序存在文件prog1.c中。

请勿改动主函数main()和输出数据函数writeDat()的内容。

#include

intcnt,sum

void countValue()

int s,i,x,n,e,six,nine

for(s=1s<10s++)

for(i=0i<10i++)

for(x=0x<10x++)

for(n=1n<10n++)

for(e=0e<10e++)

six=s100+i10+x

nine=n1000+i100+n10+e

if(3six==2nine)

cnt++sum+=six+nine

', '1', ',2012年9月计算机等级考试三级网络技术上机南开一百题,', '2012年9月计算机等级考试三级网络技术上机南开一百题', '0', '1', '1371100507', '1') ;INSERT INTO keke_witkey_article (`art_cat_id`, `uid`, `username`, `art_title`, `art_source`, `art_pic`, `content`, `art_type`, `label_txt`, `seo_keyword`, `seo_desc`, `listorder`, `is_show`, `pub_time`, `status`) VALUES ('274', '1', '', '计算机的特点', '', '', '

1、运算速度快、精度高

现代计算机每秒钟可运行几百万条指令,数据处理的速度相当快,是其他任何工具无法比拟的。

2具有存储与记忆能力

计算机的存储器类似于人的大脑,可以记忆(存储)大量的数据和计算机程序。

3具有逻辑判断能力

具有可靠逻辑判断能力是计算机能实现信息处理自动化的重要原因。能进行逻辑判断,使计算机不仅能对数值数据进行计算,也能对非数值数据进行处理,使计算机能广泛应用于非数值数据处理领域,如信息检索、图形识别以及各种多媒体应用等。

4、自动化程度高,通用性强

利用计算机解决问题时,人们启动计算机输入编制好的程序以后,计算机可以自动执行,一般不需要人直接干预运算、处理和控制过程。(高可靠性,稳定性和通用性)

', '1', ',计算机的特点,', '计算机,电脑,笔记本', '运算速度快、精度高现代计算机每秒钟可运行几百万条指令,数据处理的速度相当快,是其他任何工具无法比拟的。', '0', '1', '1371102209', '1') ;INSERT INTO keke_witkey_article (`art_cat_id`, `uid`, `username`, `art_title`, `art_source`, `art_pic`, `content`, `art_type`, `label_txt`, `seo_keyword`, `seo_desc`, `listorder`, `is_show`, `pub_time`, `status`) VALUES ('274', '1', '', 'js获取宽高', '', '', '

IE中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
FireFox中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度

Opera中:
document.body.clientWidth ==> 可见区域宽度
document.body.clientHeight ==> 可见区域高度
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
没有定义W3C的标准,则
IE为:
document.documentElement.clientWidth ==> 0
document.documentElement.clientHeight ==> 0
FireFox为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
Opera为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth
网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

HTEL精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

实现代码

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

请调整浏览器窗口


请调整浏览器窗口大小





浏览器窗口 的 实际高度:

浏览器窗口 的 实际宽度:




', '1', ',js获取宽高,', 'js获取宽高', 'js获取宽高', '0', '1', '1371102839', '1') ;INSERT INTO keke_witkey_article (`art_cat_id`, `uid`, `username`, `art_title`, `art_source`, `art_pic`, `content`, `art_type`, `label_txt`, `seo_keyword`, `seo_desc`, `listorder`, `is_show`, `pub_time`, `status`) VALUES ('1', '1', '', 'MySQL中的Union连接查询', '', '', '

select
union的用法
作用:把两次或多次的查询结果合并起来
要求:两次查询的列数一致就好
推荐:查询的每一列,相对用的列类型也一样。
可以来自于多张表。
多次SQL语句取出的列明可以不一致,此时以第一个SQL的列名为准。
如果不同的语句中取出的行,有完全相同(每个列的值都相同)
那么相同的行将会合并(去重复);
如果不去重复,可以加all来指定。
请注意:
如果子句中有order by,limit,须加(),推荐放到所有子句之后,即对最终合并后的结果排序。
在子句中,order by配合limit使用才有意义。
如果order by和limit不配合使用,会被语法分析器优化分析时去除。
合并查询结果
#查询网店商品价格小于50的商品信息
selelct good_id,goods_name,shop_price from goods where shop_price<50
#把价格大于5000或者小于20的商品查询出来
select goods_id,goods_name,shop_price from goods where shop_price<20 or shop_price>5000
select goods_id,goods_name,shop_price from goods where shop_price > 5000 union select goods_id,goods_name,shop_price from goods where shop_price < 20
#把允许显示的留言显示出来
select user_name,user_email,msg_content from feedback where msg_status=1
#把允许显示的评论取出来
select user_name,email,content from content where status=1
#利用union简化为一条查询
连接查询
数学上:
集合 set
集合的特性:无序性,唯一性。
一张表就是一个集合,一行数据是集合的一个元素。
理论上讲,不可能存在完全相同的两个行,但是表中可以完全相同的两行,因为,表内部有一个rowid
集合相乘就是笛卡尔积,其实就是两个集合的完全组合
问:设集合A有M个元素,M个元素各不相同。设集合B,有N个元素,N个元素各不相同。
AB,得到的积,有MN个元素,不可能重复。
表A有9行,表B有10行,两表相乘,有910=90行数据。
ta表
id num
a 5
b 10
c 15
d 10
tb表
id num
b 5
c 10
d 20
e 99


create table ta(
id char(1),
num int
)

insert into ta values
('a',5),
('b',10),
('c',15),
('d',10)


create table tb(
id char(1),
num int
)

insert into ta values
('b',5),
('c',10),
('d',20),
('e',90)


想要得到的结果
a 5
b 15
c 25
d 30
e 90

select from ta
select from tb

select from ta union select from tb
#sum,group求和
select id,sum(num) from (select from ta union select from tb) as temp group by id
update ta set num=15 where id='c'
select from ta union all select from tb
#想取第4栏目的商品,价格降序排列,还想取第5个栏目的商品,价格也降序排列。union完成。
(select goods_id,cat_id,goods_name,shop_price from goods where cat_id=4 order by shop_price desc) union (select goods_id,goods_name,shop_price from goods where cat_id =5 order by shop_price desc) order by desc
#取第3个栏目价格前3高的商品和第4个栏目价格前两高的商品,用union实现。
(select goods_id,cat_id,goods_name,shop_price from goods where cat_id=4 order by shop_price desc limit 3)union(select goods_id,cat_id,goods_name,shop_price from goods where cat_id=4 order by shop_price desc limit 2)

select from ta,tb相当于,tatb之后再查。完全组合。
左连接
select 列1,列2,列3...列N from
tableA left join tableB
on tableA.列=tableB[此时,表连接成一张大表,完全当成普通表看]
where group,having...照常写
要从goods,category表中取数据

然后,在两张MN的过程中,筛选,以什么条件筛选,答:cate_id相同。
1、先接上表;
2、是连接条件。
select goods left join category on goods.cat_id=category.cat_id
#两张表连接成了一张大表。
select
goods_id,good.cat_id,cat_name,goods_name,shop_price
from
goods left join category on goods.cat_id=category.cat_id
右连接
elect 列1,列2,列3...列N from
tableA right join tableB
on tableA.列=tableB[此时,表连接成一张大表,完全当成普通表看]
where group,having...照常写
内连接
elect 列1,列2,列3...列N from
tableA inner join tableB
on tableA.列=tableB[此时,表连接成一张大表,完全当成普通表看]
where group,having...照常写

点击报名
注:转载请注明:文章摘自淘教中国网http://www.taoedu.cn。如有异议,请联系我们。
上一篇: 高考临近考生心理很重要 调节好生物钟莫挑灯夜读
下一篇: 如何全面提高学习成绩

淘教百科

Powered by taoedu.cn1.3.0 © 导航_淘教中国(www.taoedu.cn) 京ICP备11038813号-1 | 京ICP证120702
服务热线:4000000696(呼叫中心技术支持) | 邮编:100088
公司名称:哈哈莉莉(北京)网络科技有限公司    独家运营    公司资质
地址:北京市西城区德胜门外大街11号B座511室(中关村科技园区德胜科技园内)

网络警察 国家备案 北京工商 支付宝 360
   

学业规划咨询