当前位置:文档之家› 程序填空

程序填空

程序填空
程序填空

一、程序填空

1、'以下程序段采用冒泡法对数组元素进行排序。

'-------------------------------------------------------

Option Base 1

Private Sub Command1_Click()

Dim iA(1 To 10)

n = 6

iA(1) = 8: iA(2) = 6: iA(3) = 9: iA(4) = 3: iA(5) = 2: iA(6) = 7

Print "冒泡法排序数据变化过程"

Print " 8, 6, 9, 3, 2, 7"

Print "-----------------------------"

'**********SPACE**********

For i = 1 To 【?】Step 1 n-1

'**********SPACE**********

For j = n To 【?】Step -1 i+1

If iA(j) < iA(j - 1) Then

t = iA(j)

iA(j) = iA(j - 1)

'**********SPACE**********

iA(j - 1) = 【?】t

End If

Next j

Print "i="; i; Spc(i * 3 - 3);

For k = i To n

Print iA(k);

Next k

Print

Next i

End Sub

2、'本题内容如下:单击“插入数据”按钮后,输入一个整型数据,

'该数据会被插入到一个有序的数组a(1 to 10)中,插入该数据后数组还是有序的。

'-------------------------------------------------------

Option Base 1

Private Sub Command1_Click()

Dim a%(1 To 10), i%, k%, m%

Print "原数列是";

For i = 1 To 9

a(i) = (i - 1) * 3 + 1

Print a(i);

Next i

Print

m = Val(InputBox("输入要插入的数据"))

For k = 1 To 9

'**********SPACE**********

If 【?】 Then Exit For (m < a(k))

Next k

For i = 9 To k Step -1

'**********SPACE**********

a(i + 1) = 【?】a(i)

Next i

'**********SPACE**********

a(【?】) = m k

Print "插入"; m; "后的数列是:"

For i = 1 To 10

Print a(i);

Next i

Print

End Sub

3、'【程序填空】

'-------------------------------------------------------

'题目:用100元买100只鸡,公鸡2元1只,母鸡3元1只,小鸡1元2只,' 问各应买多少只。

'-------------------------------------------------------

Private Sub Form_Click()

Dim x%, y%, z%, n%

'**********SPACE**********

n = 【?】 0

Print "母鸡", "公鸡", "小鸡"

For x = 0 To 33

For y = 0 To 50

'**********SPACE**********

z = 100-【?】X-Y

'**********SPACE**********

【?】N=N+1

If 3 * x + 2 * y + 0.5 * z = 100 Then

Print x, y, z

'**********SPACE**********

【?】END IF

Next y

Next x

Print "共计算了", n, "次"

End Sub

4、'以下程序段用于计算数组中各元素的乘积。

'-----------------------------------------

Private Sub Command1_Click()

Dim a(1 To 5) As Integer, b%(2 To 10), i%, t1#, t2# For i = 1 To 5

a(i) = i

Next i

For i = 2 To 10

b(i) = i

Next i

t1 = tim(a())

t2 = tim(b())

Print "t1="; t1, "t2="; t2

End Sub

'**********SPACE**********

Function tim(【?】 As Integer) a()

Dim t#, i%

'**********SPACE**********

【?】t=1

For i = LBound(m) To UBound(m)

t = t * m(i)

Next i

tim = t

End Function

5、从键盘上输入一串字符,以"?"结束,统计输入字符中的

' 大、小写字母和数字的个数。

Private Sub Form_Click()

Dim ch$, n1%, n2%, n3%

n1 = 0

n2 = 0

n3 = 0

ch = InputBox("请输入一个字符")

'**********SPACE**********

Do While 【?】not ch = "?"

Select Case ch

Case "a" To "z"

n1 = n1 + 1

'**********SPACE**********

Case 【?】"A" To "Z"

n2 = n2 + 1

Case "0" To "9"

n3 = n3 + 1

End Select

ch = InputBox("请输入一个字符")

'**********SPACE**********

【?】Loop

Print n1, n2, n3

End Sub

6、'【程序填空】

'------------------------------------------------------- '题目:本程序执行后,最终在窗体上打印数字7。

'请在【】处填入正确的内容

'------------------------------------------------------- Private Sub Command1_Click()

Dim a As String

'**********SPACE**********

Open App.Path & "\abc.bat" For 【?】 As #1 Output n = 8

For I = 1 To n

Print #1, I + 1

Next I

Close #1

'**********SPACE**********

Open App.Path & "\abc.bat" For 【?】 As #1 Input For I = 1 To n

Input #1, a

If I Mod 5 = 0 Then

'**********SPACE**********

Print CInt(a) + 【?】 1

End If

Next I

Close #1

End Sub

7、'输入数字1-7,显示其对应是星期几(例:输入1,显示星期日,

'如果输入其它内容,一律显示"输入错误")

Private Sub Command1_Click()

Dim x As Integer

Dim y As String

x = Val(Text1.Text)

'**********SPACE**********

【?】select case x

Case 1

y = "今天是星期日"

Case 2

y = "星期一"

Case 3

y = "星期二"

Case 4

y = "星期三"

Case 5

y = "星期四"

Case 6

'**********SPACE**********

【?】y=”星期五”

Case 7

y = "星期六"

'**********SPACE**********

【?】Case Else

y = "输入错误"

End Select

Text2.Text = y

End Sub

8、本程序用辗转相除法求自然数m、n的最大分约数和最小公倍数,求最大公约数的算法如下:

'(1) 对于己知两数m、n,使得m>n;

'(2) m除以n得余数r;

'(3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4)

'(4) m<-n,n<-r再重复执行(2)

'原两数相乘除以最大公约数即为最小公倍数,程序如下:

'请在【】处填入正确的内容

'-------------------------------------------------------

Private Sub Form_Click()

Dim m%, n%, mn%

n = Val(InputBox("n="))

m = Val(InputBox("m="))

If n <= 0 Or m <= 0 Then

MsgBox "数据出错"

Exit Sub

End If

'**********SPACE**********

【?】mn=m*n

'**********SPACE**********

If 【?】Then m

t = m

m = n

n = t

End If

'**********SPACE**********

Do While 【?】r<>n

'**********SPACE**********

r = 【?】m mod n

m = n

n = r

Loop

Form1.Print "最大公约数="; m

Form1.Print "最小公倍数="; mn / m

End Sub

9、'以下程序段用于输出杨辉三角:结果样式如图1 '

Private Sub Form_Click()

Const n = 10

Dim arr(n, n) As Integer

For I = 1 To n

arr(I, I) = 1

'**********SPACE**********

【?】arr(I, 1) = 1

Next I

For I = 3 To n

For j = 2 To I - 1

'**********SPACE**********

arr(i, j) =【?】arr(i-1,j-1)+arr(i-1,j)

Next j

Next I

For I = 1 To n

For j = 1 To I

'**********SPACE**********

【?】print arr(I,j)

Next j

Print

Next I

End Sub

10、'【程序填空】

'-------------------------------------------------------

'题目:窗体上建立了一个文本框Text1,用于显示结果。

' 单击按钮弹出输入对话框录入0-6之间的数值,

' 判断输入值为星期几

'请在【?】处填入正确的内容

Private Sub Command1_Click()

Dim x As Integer

'**********SPACE**********

x = Val(【?】("请输入星期几(0~6)")) InputBox '**********SPACE**********

Select Case 【?】x

Case Is = 0

Text1.Text = "星期日(Sunday)"

Case Is = 1

Text1.Text = "星期一(Monday)"

Case Is = 2

Text1.Text = "星期二(Tuesday)"

Case Is = 3

Text1.Text = "星期三(Wednesday)"

Case Is = 4

Text1.Text = "星期四(Thursday)"

Case Is = 5

Text1.Text = "星期五(Friday)"

Case Is = 6

Text1.Text = "星期六(Saturday)"

'**********SPACE**********

Case 【?】Else

Text1.Text = "输入错误"

End Select

End Sub

11、【程序填空】

'-------------------------------------------------------

'题目:有12个文本框代表12个位置。程序为A-J 10个字母分配' 十个位置,并显示座位分配。

'------------------------------------------------------- Private Sub Form_Load()

Dim k, h, p As Integer

Dim t(12) As String

Randomize

'**********SPACE**********

For k = 1 To 【?】12

t(k) = "Empty"

Next k

'**********SPACE**********

For 【?】 = 65 To 74 h

Do While True

p = Int(1 + 12 * Rnd)

'**********SPACE**********

If t(p) = 【?】 Then "Empty"

t(p) = Chr(h)

Exit Do

End If

Loop

Next h

For k = 1 To 12

Text1(k - 1).Text = t(k)

Next k

End Sub

12、'本程序段实现的是简单加密功能。其加密方法为将每个字母加'密为其后的第五个字母,即' "A"→"F", "a"→f","B"→G", '"b"→"g"......."Y"→"D","Z"→"E",对于非字母字符不处理。

'-------------------------------------------------------

Private Sub cmdcls_Click()

txtCode.Text = ""

txtInput.Text = ""

End Sub

Private Sub cmdcode_Click()

Dim strInput$, Code$, Record$, c As String * 1

Dim i%, length%, iAsc%

strInput = txtInput.Text

'**********SPACE**********

【?】 = Len(RTrim(strInput)) length

Code = ""

For i = 1 To length

c = Mid$(strInput, i, 1)

Select Case c

Case "A" To "Z"

iAsc = Asc(c) + 5

If iAsc > Asc("Z") Then iAsc = iAsc - 26

Code = Code + Chr$(iAsc)

Case "a" To "z"

iAsc = Asc(c) + 5

If iAsc > Asc("z") Then iAsc = iAsc - 26

Code = Code + Chr$(iAsc)

Case Else

'**********SPACE**********

Code = 【?】 c

End Select

Next i

'**********SPACE**********

【?】= code txtcode.text

End Sub

13、

'题目:本程序实现功能:将顺序文本文件“MYFILE.TXT”的' 内容一个字符一个字符地读入文本框txtTest中

'------------------------------------------------------- '

Private Sub Form_Click()

Dim InputData As String * 1

txtTest.Text = ""

'**********SPACE**********

Open App.Path & "\MYFILE.TXT" For 【?】 As #1 Input '**********SPACE**********

Do While 【?】 EOF(1) Not

Input #1, InputData

'**********SPACE**********

txtTest.Text = txtTest.Text + 【?】InputData Loop

Close #1

End Sub

14、'题目:写出程序运行时单击窗体后,Form1上的输出结果

' n=1 z=4

' n=2 z=7

' n=3 z=10

'请在【?】处填入正确的内容

'-------------------------------------------------------

'

Option Explicit

Private Sub Form_Click()

Dim a As Integer, b As Integer, z As Integer

'**********SPACE**********

【?】 Dim n As Integer

a = 1

'**********SPACE**********

b = 【?】1

'**********SPACE**********

For n = 【?】 To 3 1

z = chg(a, b)

Form1.Print "n="; n, "z="; z

Next n

End Sub

Function chg(a As Integer, b As Integer) As Integer

Dim n As Integer

For n = 0 To 2

'**********SPACE**********

a = 【?】

Next n

chg = a

End Function

15、

'以下程序段分别以子过程和函数来计算某级数部分和,级数公式如图1所示。

'-------------------------------------------------------

Private Function jishu1(x!, eps#) As Double

Dim n%, s#, t#

n = 1: s = 0: t = 1

Do While (Abs(t) >= eps)

s = s + t

t = t * x / n

n = n + 1

Loop

jishu1 = s

End Function

'**********SPACE**********

Private Sub 【?】(s#, x!, eps#) jishu2

Dim n%, t#

n = 1: s = 0: t = 1

Do While (Abs(t) >= eps)

s = s + t

t = t * x / n

n = n + 1

Loop

End Sub

Private Sub Command1_Click()

Dim f1#, f2#

f1 = jishu1(2#, 0.000001)

Call jishu2(f2, 2#, 0.000001)

Print "函数计算结果为"; f1

'**********SPACE**********

Print "子过程计算结果为 "; 【?】f2

End Sub

16、'题目:将字符串S1反向输出

'请在【?】处填入正确的内容

'-------------------------------------------------------

'

Private Sub Command1_Click()

Dim s1 As String, s2 As String

s1 = "abcdef"

'**********SPACE**********

Call Invert(【?】, s2) s1

Print s2

End Sub

Private Sub Invert(ByVal xstr As String, ystr As String)

Dim tempstr As String

Dim i As Integer

'**********SPACE**********

i = 【?】Len(xstr)

Do While i >= 1

tempstr = tempstr + Mid(xstr, i, 1)

i = i - 1

'**********SPACE**********

【?】Loop

ystr = tempstr

End Sub

17、程序运行界面如图所示。键盘输入3个数,将它们按由大到小的'顺序输出,-1为结束标志。

'------------------------------------------------------- Private Sub Form_Click()

'**********SPACE**********

Do While 【?】a<>-1

a = Val(InputBox("请输入第一个数:"))

If a = -1 Then Exit Sub

b = Val(InputBox("请输入第二个数:"))

c = Val(InputBox("请输入第三个数:"))

'**********SPACE**********

If 【?】 Then t = a: a = b: b = t a

If a < c Then t = a: a = c: c = t

'**********SPACE**********

If b < c Then t = b: 【?】b=c:c=t

Print a, b, c

Loop

End Sub

18、

'题目:单击窗体打印内容如图

'*

'**

'***

'****

'*****

'******

'*******

'请在【?】处填入正确的内容

'------------------------------------------------------- '

Private Sub Form_Click()

Dim i As Integer, j As Integer

Dim star As String

'**********SPACE**********

【?】 = "*" Star

For i = 0 To 6

'**********SPACE**********

For j = 【?】 To 6 6 – I

'**********SPACE**********

Form1.Print star【?】 ;

Next j

Form1.Print

Next i

End Sub

19、'题目:下面的程序用于求三个数中最大数

'请在【?】处填入正确的内容

'------------------------------------------------------- '

Private Sub Command1_Click()

Dim a, b, c, max, min As Integer

a = Val(InputBox("请输入第一个数: "))

b = Val(InputBox(" 请输入第二个数: "))

c = Val(InputBox("请输入第三个数: "))

'**********SPACE**********

【?】 = a max

min = a

'**********SPACE**********

If b > max Then 【?】max=b

If b < min Then min = b

'**********SPACE**********

If 【?】 Then max = c c > max

If c < min Then min = c

Print "最大数为:"; max

Print "最小数为:"; min

End Sub

Do While (Abs(t) >= eps)

s = s + t

t = t * x / n

n = n + 1

Loop

End Sub

20、窗体中有两个List列表,及4个按钮。

' 程序功能,单击“产生随机数”按钮,随机产生20个随机数填入List1中' “保存”按钮作用是将数组内容写到文件中

' “读出”按钮作用是将文件内容读到数组中

' “结束”按钮作用是结束程序

'请在【?】处填入正确的内容

'-------------------------------------------------------

'

Dim d(1 To 20) As Integer

Private Sub Command1_Click() '"产生随机数"

Dim i As Integer

List1.Clear

For i = 1 To 20

'**********SPACE**********

d(i) = Int(1 + 99 *【?】) Rnd

List1.AddItem d(i)

Next i

End Sub

Private Sub Command2_Click() '"保存"

Dim i As Integer

Open App.Path & "\MyFile3.txt" For Output As #1

For i = 1 To 20

'**********SPACE**********

Write 【?】, d(i) #1

Next i

Close #1

End Sub

Private Sub Command3_Click() '"读出"

Dim x As String

Open App.Path & "\MyFile3.txt" For Input As #1

List2.Clear

'**********SPACE**********

Do While Not 【?】EOF(1)

Input #1, x

List2.AddItem x

Loop

Close #1

End Sub

Private Sub Command4_Click() '"结束"

End

End Sub

21、编写简易画图程序。如图所示

'-------------------------------------------------------

Dim draw As Boolean '定义窗体级变量,代表鼠标按下还是抬起。

Private Sub Command1_Click()

'**********SPACE**********

【?】'清除窗体上的信息clear

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) draw = True '记录鼠标状态

CurrentX = X '鼠标按下位置即输出信息位置

CurrentY = Y

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '**********SPACE**********

If 【?】Then Line (CurrentX, CurrentY)-(X, Y), QBColor(9) '鼠标按下画线

End Sub button=1

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) draw = False ' 鼠标抬起时画线结束

End Sub

'以下程序段用于求∑n!

Private Sub Form_Click()

Dim sum As Long, n As Long

n = InputBox("请输入一个正整数")

sum = 0

For i = 1 To n

'**********SPACE**********

sum =【?】

Next i

Print sum

End Sub

Private Function mul(ByVal x As Long)

Dim s As Long, i As Long

s = 1

'**********SPACE**********

For i = 1 To 【?】

s = s * i

Next i

'**********SPACE**********

【?】

End Function

22、'

本程序运行后,单击“替换”按钮,可以将text1中包含的'text2内容,替换为text3内容。

'如果若text1中包含text2,则将被查找内容替换为text3中内容,

'否则,不进行替换,并且将最终结果打印在窗体上。运行效果如图1所示

'-------------------------------------------------------

'**********SPACE**********

Public Function MyReplace(s$, OldS$, NewS$) As 【?】 String

Dim i%, lenOldS%

lenOldS = Len(OldS)

i = InStr(s, OldS)

Do While i > 0

s = Left(s, i - 1) + NewS + Mid(s, i + lenOldS)

i = InStr(s, OldS)

Loop

'**********SPACE**********

MyReplace=【?】s

End Function

Private Sub Command1_Click()

Print MyReplace(Text1, Text2, Text3)

End Sub

23、'以下程序段分别以子过程和函数来计算某级数部分和,级数公式如图1所示。

'-------------------------------------------------------

Function jishu1(x!, eps#) As Double

Dim n%, s#, t#

n = 1: s = 0: t = 1

Do While (Abs(t) >= eps)

s = s + t

t = t * x / n

n = n + 1

Loop

'**********SPACE**********

【?】 jishu1=s

End Function

Sub jishu2(s#, x!, eps#)

Dim n%, t#

n = 1: s = 0: t = 1

Do While (Abs(t) >= eps)

s = s + t

t = t * x / n

n = n + 1

Loop

End Sub

Private Sub Command1_Click()

Dim f1#, f2#

f1 = jishu1(2#, 0.000001)

'**********SPACE**********

【?】 jishu2(f2, 2#, 0.000001) Call

Print "f1="; f1, "f2 = "; f2

End Sub

24、'以下程序段用于计算若干个数字的最大公约数。

'----------------------------------------------------------------------------------------------

Option Base 1

Private Function gcd(ByVal m%, ByVal n%) As Integer

If m < n Then t = m: m = n: n = t

Do

r = m Mod n

If r = 0 Then Exit Do

m = n

n = r

Loop

'**********SPACE**********

【?】= n gcd

End Function

Dim a() As Integer

n = InputBox("输入n")

ReDim a(n)

For i = 1 To n

a(i) = InputBox("输入数据")

Next i

n1 = a(1)

For i = 2 To n

m1 = a(i)

mn = gcd(m1, n1)

If mn = 1 Then Exit For Else n1 = mn

Next i

'**********SPACE**********

Print 【?】 mn

End Sub

25、fac函数的功能为求阶乘

'----------------------------------

Public Function fac(n As Integer) As Integer

'**********SPACE**********

If n = 【?】Then 1

fac = 1

Else

'**********SPACE**********

fac = n * fac(【?】) n-1

End If

End Function

Private Sub Command1_Click()

Print "fac(4)="; fac(4)

End Sub

26、题目:文件检验中,经常要统计一段文字中某些字出现的频率。

' 如图所示,编一程序,统计文本框输入的一段文字中"我"

' "的""计""照""是"几个字出现的频率,并将结果显示在图

' 片框中。

'

'------------------------------------------------------- Option Base 1

Picture1.Cls

word = Array("我", "的", "计", "照", "是")

Dim num(5) As Integer

le = Text1.Text

'**********SPACE**********

lenth =【?】len(text1.text)

For j = 1 To UBound(word)

For i = 1 To lenth

'**********SPACE**********

c = 【?】word(i)

If c = word(j) Then num(j) = num(j) + 1

Next i

Picture1.Print " ' "; word(j); " ' "; "字出现"; num(j); "次" Next j

End Sub

Private Sub Command2_Click()

End

End Sub

27、以下程序段用于实现矩阵转置,即将一个n×m的矩阵的行和列互换'

Private Sub Form_Click()

Const n = 3

Const m = 4

Dim a(n, m) As Integer, b(m, n) As Integer

For I = 1 To n

For j = 1 To m

a(I, j) = Int(Rnd * 90) + 10

Next j

'**********SPACE**********

【?】Next I

For I = 1 To n

For j = 1 To m

'**********SPACE**********

【?】b(j, i) = a(i, j)

Next j

Next I

Print "矩阵转置前"

For I = 1 To n

For j = 1 To m

C语言程序的设计填空题及答案复习用

导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ①; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;pamax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数, 所得的二进制数放在一个一维数组中返回,二进制数的 最低位放在下标为0的元素中。 fun(int x,int b[]) { int k=0,r; do { r=x% ①; b[k++]=r; x/= ②; }while(x); } 【3.8】下面程序的功能是输出1到100之间每位数的乘 积大于每位数的和的数。例如数字26,数位上数字的乘 积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; ①; while( ② ) 页脚

程序阅读及填空(答案)

一.程序阅读题 1.若运行时输入100↙,写出以下程序的运行结果。main ( ) { int a ; scanf(“%d”,&a); printf(“%s”,(a%2!=0)?”No”:”Yes”); } 答案: Yes 2.写出以下程序的运行结果。 main ( ) { int a=2,b=7,c=5; switch (a>0) { case 1: switch (b<0) { case 1: printf(“”); break ; case 2: printf(“!”); break ; } case 0: switch (c==5) { case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; } default : p rintf(“&”); } printf(“\n”); } 答案: *& 3.写出下面程序运行的结果。 main ( ) { int i,b,k=0 ; for (i=1; i<=5 ; i++) { b=i%2; while (b--==0) k++ ; } printf(“%d,%d”,k,b); } 答案:2 0 4.写出下面程序运行的结果。 main ( ) { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k); } 答案:36 5.写出下面程序运行的结果。

{ int a=10,y=0 ; do { a+=2 ; y+=a ; if (y>50) break ; } while (a=14) ; printf(“a=%d y=%d\n”,a,y) ; } 答案:a=16 y=60 数组部分: 1.写出下面程序的运行结果。 main ( ) 答案: { int a[6][6],i,j ; for (i=1; i<6 ; i++) for (j=1 ; j<6 ; j++) a[i][j]=(i/j)*(j/i) ; for (i=1;i<6 ; i++) { for (j=1 ; j<6 ; j++) printf(“%2d”,a[i][j]) ; printf(“\n”); } } 2.写出下面程序的运行结果。 main ( ) { int i=0; char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=’\0’ && b[i]!=’\0’) { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; } c[i]=’\0’; puts(c); } 答案:AQM 3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( ) { char s[80]; int i=0; gets(s); while (s[i]!=’\0’) { if (s[i]<=’z’ && s[i]>=’a’) s[i]=’z’+’a’-s[i] ; i++;

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

程序填空题

1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。 #include "" main( ) { FILE *fp; char ch,filename[10]; scanf("%s",filename); /*用户输入存在磁盘上的文件名*/ if((fp= ⑦ (filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } while((ch=getchar())!='#') ⑧ ; fclose(fp); } 2.下列程序的功能是输出一个整数x的绝对值。将程序补充完整,填在空内。 #include <> main() { int x, ① ; scanf("%d",&x); y= ② ; printf("%d\n",y); } 3.下列程序的功能是输出1~100之间能被7整除的所有整数。将程序补充完整,填在空内。 main() { int i;

for(i=1; ③ ;i++) { if(i%7) ④ ; printf("%d ",i); } } 4.以下程序用以删除字符串中所有的空格,请填空。 main() { char s[100]={"Our teacher teach C language!"}; int i,j; for(i=j=0;s[i]!= '\0';i++) if(s[i]!= ' ') { ⑤ ;j++;} s[j]= ⑥ ; printf("%s\n",s); } 5.结构体数组中存有三个人的姓名和年龄,以下函数fun的功能是输出三人中最年长者的姓名和年龄。 struct man { char name[20];int age;}person[]={{"Mary",16},{"Tom",21},{"Jim",18}}; void fun( ⑦ person[ ] ) { int i,old=0; for(i=0;i<2;i ++) if(person[old].age

C语言程序填空题及答案

C语言程序填空题及答 案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

程序填空题 1、 #include void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ) // 1)n 2) n!=0; { k++; _____2_____; n=n/10 } printf("%d\n",k); } 2、 #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ // max=f(1); for(x=2;x<=10;x++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max);

} 3、 #include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 4、 #include void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= ______1______; // m%2

vb程序阅读题与填空题

VB程序阅读题与程序填空题综合练习 1、阅读下面程序,当单击窗体之后,窗体上输出的是。 Private Sub Form_Click( ) Dim i As Integer, j As Integer Dim k As Integer k=0 For i = 0 To 10 Step 3 For j = 1 To 10 If j > = 5 Then i = i +4: Exit For j = j + 1 k = k + 1 Next If i > 8 Then Exit For Next Print k End Sub 2、阅读下面的事件过程。单击窗体后,在文本框Text1和Text2中显示的内容分别 是和;若将程序中A语句与B语句的位置互换,再次执行程序,单击窗体后在Text1和Text2中显示的内容分别是和。 Private Sub Form_Click( ) Dim x As Integer, y As Integer x = 1 : y = 0 Do While x < 3 y = y + x 'A语句 x = x + 1 'B语句 Loop Text1.Text = x Text2.Text = y End Sub 3、下面程序段中,k循环共执行次,在窗体上显示的结果是。 Dim b As Integer, k As Integer b = 1 For k =1 To 5 b = b * k If b > = 15 Then Exit For Else

k = k + 1 End If Next k Print k, b 4、以下是按钮cmdl的Click事件过程,求1~100之间的所有质数。质数的个数显示在窗 体上,在划线处填上缺少的内容。 Private Sub cmdl_Click( ) Dim intNum As Integer, int1 As Integer, int2 As Integer intNum = 0 For int1 = For int2 = 2 To int1 \2 If (int1 Mod int2) = 0 Then intNum=1 End If Next If sNum = sNum + 1 End If Next Print End Sub 5、若命令按钮的名称为CmdExit,程序要求单击以上命令按钮时,程序停止运行。请在画线处中填入适当的内容。 Private Sub CmdExit_ ( ) End Sub 6、下面的事件过程判断文本框txt1中输入的数所在区间,并在文本框txt2中输出判断结果。在画线处填入正确的内容。 Private Sub Comandl_Click( ) Dim int1 As Integer int1 =val (txt1.Text) Select Case int1 Case txt2.Text = "值为0" Case txt2.Text = "值在1和10之间(包括1和10)" Case txt2.Text = "值大于10"

模块化程序设计练习题及答案

第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40)

则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>ba:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。

c语言程序填空题完整

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); }

【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

-程序填空部分试题及答案

第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include main() { long int f,s; int i,j,n; /***********SPACE***********/ 【?】; scanf("%d",&n); /***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++) /***********SPACE***********/ 【?】; s=s+f; } printf("n=%d,s=%ld\n",n,s); } 第2题./*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:以下程序是用选择法对10个整数按升序排序。 -------------------------------------------------------*/ #include /***********SPACE***********/ 【?】 main()

循环程序设计习题及答案

模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0;

while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况

程序填空

#include #include /***********SPACE***********/ double f(【?】) { /***********SPACE*********** 答案: =======(答案1)======= float x =======(答案2)======= double y =======(答案3)======= x<=2 =======(答案4)======= return y 题目:已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序 每五个元素求一个平均值, 并将该值存放在数组w中。 程序中有4个空,填空使程序完整。 答案: =======(答案1)======= s[i]=k; =======(答案2)======= if( ( i + 1 )%5 == 0 ) =======(答案3)======= sum=0; =======(答案4)======= fun2(s,w); 五、程序改错共1题(共计6分) 第1题(6.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 题目:函数fun的功能是:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项

数不得多于或少于20。 请改正程序中的4个错误,使它能得出正确的结果。 -------------------------------------------------------- 答案: =======(答案1)======= printf("%8.0f",f1); =======(答案2)======= for(i=1;i<20;i++) =======(答案3)======= f1=f2; =======(答案4)======= f2=f3; 题目:要求输出结果为: A,B 65,66 答案: =======(答案1)======= b; =======(答案2)======= 'a' =========或========= 97 =======(答案3)======= 32 题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。如N=150时,可分解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 答案 n>0 i=2 r=n%i n=n/i 题目:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄) 答案: =======(答案1)=======

湖南省计算机二级3[1].(6分)程序阅读填空

程序填空题一 1. 下面C语言程序将两个递增有序的数值a和b 合并一个数组c,并保持递增次序,最后输出数组c. #include < stodio.h> #define M6 #define N5 main( ) {int a[M]={1,3,5,7,9,11} b[N]={2,4,6,8,10} int c[M+N] int i ,j, k; i=j=k=0 while( 1 ) if a[i]

printf(%dxt,c[k]; ) 其中(1)(2)(3)(4)处分别填一数据,使程序达到其功能。 答案: 1:i

解:(1)(*f)(x+y)/(*g)(y-x) (2)cos,sin,a,b [解析]本题考察的是函数的声明。要填写的两个空都出现在return语句中,所以要仔细分析函数的返回值。本题的第二个空相对要容易一些,只要根据题干和乘号前面的调用语句对比一下即可得到调用语句的四个参数。第一个空相对要难一些,函数fgh定义时用到了函数指针(*f)和(*g)是为了增加函数的灵活性。根据函数h的定义以及题干要求,可以看出函数fgh应该表示的是乘号两边的某一项。(*f)和(*g)用来表示sin或cos,参数x 和y的加减法运算作为sin或cos函数的参数,故应填写(*f)(x+y)/ (*g)(y-x)。

C语言-程序填空练习题

程序填空:阅读程序。在划线处填写适当的表达式或语句,使程序完整并符合题目要求 1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。 main( ) { char ch; ch=getchar(); if( ch>=?a?&&ch<=?z?|| ch>=?A?&&ch<=?Z?) printf("It is an English character\n"); else if( ch>=?0?&&ch<=?9?) printf("It is a digit character\n"); else if( ch== …?) printf("It is a space character\n"); else printf("It is other character\n"); } 2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输入0来结束输入,用i,j来放统计数,请填空完成程序。 void main() { int n,i=0,j=0; printf(“input a integer,0 for end\n”); scanf(“%d”,&n); while (n或n!=0 ) { if(n>0) i=i+1 ; else j=j+1; } printf(“i=%4d,j=%4d\n”,i,j); } 3.编程计算1+3+5+……+101的值 #include void main() { int i, sum = 0; for (i = 1;i<=101 ; i++ ) sum = sum + i; printf("sum=%d\n", sum);

c语言程序填空题及答案

c语言程序填空题及答案 程序填空题 1、 #include void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ) // 1)n 2) n!=0; { k++; _____2_____; n=n/10 }

printf("%d\n",k); } 2、 #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ // max=f(1); for(x=2;x<=10;x++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max); } 3、 #include

void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 4、

#include void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= ______1______; // m%2 m=m/2; } for(;j!=0;j--) printf("%d", ______2______ ); // bin[j-1] } void main() { int n; scanf("%d",&n); Dec2Bin(n); } 5、

程序填空

'【程序填空】 '------------------------------------------------------- '功能:下面的程序段用于实现以下功能:利用冒泡法将一组整数' 从小到大排序。 '------------------------------------------------------- Private Sub Form_Click() Const n = 15 Dim a(1 To n) As Integer, work As Boolean Dim i As Integer, j As Integer, x As Integer Randomize For i = 1 To n a(i) = Int((90 * Rnd) + 10) Next i For i = 1 To n Print a(i); Next i Print '**********SPACE********** For i = n To 2 【?】step-1 work = True For j = 1 To i - 1 If a(j) > a(j + 1) Then x = a(j): a(j) = a(j + 1): a(j + 1) = x '**********SPACE********** 【?】work=False End If Next j '**********SPACE********** If work Then 【?】Exit For Next i For i = 1 To n Print a(i); Next i End Sub 答案 1). Step -1 2). work = False 或work=0 或not work = true 3). Exit For '功能:以下程序用于判断一个正整数(≥3)是否为素数。 '-------------------------------------------------------

VFP程序填空与阅读试题

2005届计算机专业《VFP》程序填空与阅读试卷汇编一 班级姓名 一、程序填空(每空3分,共27分) 1.有一商场的商品销售数据库XS.DBF,其记录如下: 记录号商品名单价数量总价 1 电冰箱2000 3 6000 2 彩电1800 5 9000 3 电冰箱2010 1 2010 4 空调机1600 2 3200 5 彩电1900 2 3800 …… 下面程序用于分类统计各种商品总的销售数量和总的销售额(总价),并计算出平均 销售单价。 SET TALK OFF USE XS INDE ON __________________ TO SY ____________________ TO TJK USE TJK REPL _____________________ LIST USE SET TALK ON 2.任意输入两个正整数X和Y,求X与Y的最小公倍数。 SET TALK OFF INPUT "X="TO X INPUT "Y="TO Y IF X>Y T=X X=Y Y=T ENDI N=Y DO WHILE N<=__________________ IF ________________ EXIT ENDI N=_______________________ ENDDO ?"最小公倍数是:"+STR(N) SET TALK ON 3.现有一数据库CJ.DBF,该数据库文件中仅有一个数值型字段"数据",且无记录。要求键盘输入十个数,将这些数保存到CJ.DBF的"数据"字段中,并由大到小显示出来。 SET TALK OFF

USE CJ K=1 DO WHIL K<=10 _________________ @K+5,1 SAY "第"+STR(K,2)+"数是:" GET 数据 READ __________________ ENDD INDE ON _______________ TO TMP LIST USE SET TALK ON 二、程序填空(每空3分,共18分) 1.男子100米短跑成绩已录入数据库Male100.DBF,现要求将前3名运动员的成绩转入获奖数据库gainer.dbf和gainer.txt文件中。阅读下列程序, 填写空位处的代码,使程序能正确有效地实现上述要求。 set Talk off clear @14,20 say "请稍候…" use Male100 ___________ on 成绩/D To temp use Temp Copy _________________ To gainer.dbf use gainer copy to gainer.txt _________________ use @14,20 say "操作完毕!" Return 2.现有一户籍数据库People.DBF,存贮有该地区各位公民的档案资料,现要求按"出生日期"字段(日期型),以索引查询方式,快速查找并显示所有与指定出生日期相同的记录。 Set Talk off Set Safe off Clear use people Index On 出生日期To Ipeople Born=" / / " @14,20 Say "请输入查询的出生日期:" Get Bom picture _________ Read ________________________ Do while .NOT.EOF( ).AND. _________________ Display Skip Enddo

c++程序填空十套

第一套 1.完成程序填空,实现求两数最小公倍数 #include main() { intm,n,i=1; printf("input m,n:"); scanf("%d,%d",&m,&n); do { /***********SPACE***********/ if(【?】) /***********SPACE***********/ if(i%n【?】) /***********SPACE***********/ { printf("%d\n",i);【?】; } i++; } while(i!=0); } 1)i%m==0 2)==0 3)break 2.有一个已排好的数组,完成程序填空,实现要求输入一个数后,按原来排序的规律将它插入到数组中。 #include #define N 10 int main() { int a[N+1]={-73,-67,-54,0,32,84,86,90,234,312}; intnum,i,left,right,mid,find=0; //find=0,未找到;find=1,找到。left=0; right=N-1; printf("please input:"); scanf("%d",&num); /***********SPACE***********/ while( find【?】&& left<=right) { mid=(left+right)/2; if(num>a[mid]) left=mid+1; else if(num

Java复习题(三)阅读程序题_软件

《JA V A程序设计》复习题之(三)阅读程序题 三、程序阅读题 1.阅读以下程序 import java.io.*; public class Reverse2 { public static void main(String args[ ]){ int i,n=10; int a[] = new int[10]; try { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); a[i] = Integer.parseInt(br.readLine() ); } catch (IOException e) { }; for (i= n-1; i >= 0; i=i-2) System.out.print(a[i]+" "); System.out.println(); } } 请写出该程序的功能: 该程序使用字符缓冲输入流从键盘输入10个数,然后倒序并间隔打印出来。 2.阅读以下程序 import java.io.* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[] = { 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120 }; for ( i = 0 ; i< a.length ; i++ ) if (i % 3 == 0) s += a[i]; System.out.println("s=" + s); } } 请写出该程序的输出结果: s=260 3、阅读以下程序: import java.io.*; public class TestRandomAccess { public static void main(String args[]) { int data_arr[]={65,66,56,23,27,1,43,65,4,99}; try { RandomAccessFile randf=new RandomAccessFile("temp.dat","rw"); for (int i=0; i

相关主题
文本预览
相关文档 最新文档