欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      VB編程題及答案

      時間:2019-05-14 11:01:12下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《VB編程題及答案》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《VB編程題及答案》。

      第一篇:VB編程題及答案

      1定義一個下標上界為10整型數(shù)組,并用隨機函數(shù)為其賦值(值處于[0,100]之間),計算數(shù)組中所有偶數(shù)的和。Private Sub Command1_Click()Randomize Dim a%(10)Dim i%, s% For i = 0 To 10 a(i)= 101 * Rnd()Next For i = 0 To 10 If a(i)Mod 2 = 0 Then s = s + a(i)End If Next Print “所有偶數(shù)的和為”, s 2 設(shè) S=35,C=0.3,編寫程序,計算并輸出下面級數(shù)的部分和。結(jié)果取小數(shù)點后面7位。C/1!-C^3/3!+C^5/5!-? +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ ?

      參考答案如下:

      Private Sub Command1_Click()

      Dim n As Integer

      Dim x As Double

      x = 0.3

      Dim item As Double

      Dim sum As Double

      Dim fac As Double

      For n = 1 To 35

      fac = 1

      Dim i As Integer

      For i = 1 To 2 * n1)* x ^(2 * n1

      If n Mod i = 0 Then

      isprime = False

      Exit Function

      End If

      Next

      isprime = True End Function Private Sub Command1_Click()

      Dim i As Integer

      Dim sum As Long

      For i = 1000 To 2000

      If isprime(i)= True Then

      sum = sum + i

      End If

      Next

      Text1.Text = “sum=” & sum End Sub 'sum= 419684 13.編寫一個函數(shù),求某個數(shù)的階乘。

      調(diào)用該函數(shù)計算22!。

      Public Function fact(ByVal n As Integer)As

      Long

      Dim i As Integer, f As Long

      f = 1

      For i = 1 To n

      f = f * i

      Next i

      fact = f End Function Private Sub Command1_Click()

      Dim m As Integer, i As Integer, s As Long

      m = InputBox(“輸入一個正整數(shù):

      ”)

      s = fact(m)

      MsgBox(s)End Sub ‘479001600 14.編寫子過程,計算并輸出3000-4000之間的素數(shù)之和C與其中最小的素數(shù)MIN。

      Private Sub Command1_Click()

      Dim sum, i, min As Integer

      min=0

      For i = 3000 To 4000

      Dim isprime As Boolean = True

      Dim j As Integer

      For j = 2 To i1)* n *(n + 1)

      sum = sum + item

      n = n + 2

      Loop While Abs(sum)<= 100

      MsgBox(sum)End Sub 'sum=-68 編寫一個函數(shù),其功能為求兩個數(shù)的最大公約數(shù)。

      Public Function

      gcd(ByVal m As Integer, ByVal n As Integer)As Integer

      Dim i As Integer If m > n Then Dim t As Integer t = m: m = n: n = t End If For i = m To 1 Step-1 If m Mod i = 0 And n Mod i = 0 Then gcd = i Exit Function

      End If

      Next End Function

      20.用InputBox輸入一個年份,判斷該年份是否是平年,若是則輸出“Yes”,否則輸出“No”。

      Dim year As Integer year = Val(InputBox(“"))If(year Mod 400 = 0)Or(year Mod 4 = 0 And year Mod 100<>0)

      Then MsgBox(”No“)Else

      MsgBox(”Yes“)

      End If 輸入兩個整數(shù)m、n,編寫程序使得

      m>=n,并輸出m、n的值。

      Dim m, n As Integer

      m = Val(InputBox(”“))n = Val(InputBox(”“))

      If m < n Then Dim t As Integer t = m : m = n : n = t End If

      MsgBox(”m=“ & m & ”;“ & ”n=“ & n)

      22求下面級數(shù)前n項的和S,在求和

      過程中,當某項(注意,該項參與求和)的絕對值小于0.0001 時求和終止。結(jié)果取 5 位小數(shù)。

      1-1/3+1/5-1/7+1/9-1/11+ ? +(-1)^(n-1)*1/(2n-1)+ ?

      Private Sub Command1_Click()

      Dim n As Integer

      Dim item As Double

      Dim sum As Double

      i = Do While True

      item =(-1)^(i1)

      整數(shù):”)sum = sum + item If Abs(item)< 0.0001 Then Exit Do Else i = i + 1 End If Loop

      MsgBox(Format(sum, “0.0000”))

      End Sub '

      sum=0.78545 編寫一個函數(shù),其功能為判斷一個3位正整數(shù)是否是“水仙花數(shù)”。(“水仙花數(shù)”是指各位數(shù)字的立方和與該數(shù)相等,如153=1^3+5^3+3^3,153就是水仙花數(shù)。)

      Public Function Panduan(ByVal x As Integer)As Boolean

      Dim a As Integer, b As Integer, c As Integer

      a = x 100

      b =(x Mod 100)10

      c = x Mod 10

      If x = a ^ 3 + b ^ 3 + c ^ 3 Then

      Panduan = True

      Else

      Panduan = False

      End If

      End Function Private Sub Command1_Click()

      Dim i As Integer

      i = InputBox(“輸入一個3位正

      MsgBox(Panduan(i))End Sub 定義一個下標上界為10整型數(shù)組,并為其賦值(值處于[0,100]之間),計算數(shù)組中所有不小于60的數(shù)據(jù)的和。

      Dim a(10), i, sum As Integer

      For i = 0 To 10

      a(i)= Int(Rnd()* 101)

      Next

      For i = 0 To 10

      If a(i)〉=60 Then

      sum = sum + a(i)

      End If

      Next

      print sum

      25.編寫程序,求下面級數(shù)前n項的和s=1/1!-1/2!+1/3!-1/4!+....+(-1)^(n-1)*1/n!+.....。

      '求和過程當某一項的絕對值小于0.0001時結(jié)束(注意,該項參與求和),計算并輸出所求的s,要求結(jié)果保留6位小數(shù)。Private Sub Command1_Click()

      Dim m As Double, n As Long, s As Double, f As Integer

      s = 0: n =-1: m = 1: f = 1 Do While 1 / m >= 0.0001 m = m * f f = f + 1 n =-n

      s = s + n / m Loop

      s = Format(s, ”0.000000“)Print s End Sub

      26輸入一個四位數(shù),分別輸出它的個位數(shù)字,是十位數(shù)字,百位數(shù)字,千位數(shù)字。Private Sub Command1_Click()Dim a%, j%, k%, i%, m% a = InputBox(”請輸入一個四位整數(shù)“)j = a 1000 k = a 100 Mod 10 i = a 10 Mod 10 m = a Mod 10 Print ”個位數(shù)字;“;m Print ”十位數(shù)字;“;i Print ”百位數(shù)字;“;k Print ”千位數(shù)字;“;j End Sub 6.計算sum=2!+4!+6!+...+10!Private Sub Command1_Click()Dim a%, i% Sum = 0 i = 1: a = 1 Do a = 2 * i If i Mod 2 = 0 Then Sum = Sum + a End If i = i + 1 Loop While i <= 10 Print Sum End Sub

      27編寫程序,計算并輸出下面級數(shù)前n項(n=20)中奇數(shù)項的和。1*2*3-2*3*4+3*4*5-4*5*6+....+(-1)^(n-1)*n*(n+1)*(n+2)+...Private Sub Command1_Click()Dim s!, i% For i = 1 To 20 Step 2 s = s + i *(i + 1)*(i + 2)Next MsgBox(s)End Sub

      28隨機輸出一個小寫字母。Private Sub Command1_Click()Dim a As String Randomize

      a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、29編寫程序,計算并輸出下面級數(shù)前n項(n=50)中偶數(shù)項的和。s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....Private Sub Command1_Click()Dim s!, i%

      For i = 2 To 50 Step 2 s = s + i *(i + 1)Next

      MsgBox(s)End Sub

      30斐波那契數(shù)列是由計算某類動物繁殖增長量而提出的。數(shù)列的前兩項是1、1,以后的每一項都是其相鄰前兩項的和。編寫程序求:數(shù)列前30項和。

      Private Sub Command1_Click()Dim a&, b&, c&, i%

      a = 1: b = 1: c = 2: Sum = 0 For i = 1 To 28 c = a + b a = b b = c

      Sum = Sum + c Next

      MsgBox(Sum)End Sub

      31輸入三個數(shù)a、b、c,編寫程序使得a<=b<=c,并輸出a、b、c的值。Private Sub Command1_Click()Dim a%, b%, c%, t%

      a = Val(InputBox(”請輸入a的值!“))b = Val(InputBox(”請輸入b的值!“))c = Val(InputBox(”請輸入c的值!“))If a > b Then t = b b = a a = t End If

      If a > c Then t = a a = c c = t End If If b > c Then t = b b = c c = t End If

      Print a, b, c End Sub 32編寫程序,設(shè)n=20,x=3.4,計算并輸出S(n)的值,要求結(jié)果保留5位小數(shù)。S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....Private Sub Command1_Click()Dim x#, i% Dim S(20)As Double n = 20 x = 3.4 For i = 1 To 20 S(20)= S(20)+ Log(i * x)/(x ^ i)Next Print Format(S(20), ”0.00000“)End Sub

      33輸入任意三個數(shù) 找出其中最大的數(shù) Private Sub Command1_Click()Dim a!, b!, c!, Max!a = Text1.Text b = Text2.Text c = Text3.Text Max = a If b > Max Then Max = b If c > Max Then Max = c Text4.Text = Max End Sub

      輸出1到100之間的素數(shù) Print 1;2;a = 3 While a <= 100 i = 2

      While i < a

      If a Mod i = 0 Then

      i = a

      End If

      i = i + 1

      Wend

      If i = a Then

      Print a;

      End If a = a + 1 Wend、34打印斐波那契數(shù)列20項 Private sub form_click()A=0 B=1

      Text1.text=text1.text&str(A)&str(B)&chr(13)& Chr(10)For i=1 to 9 A=A+B B=A+B

      Text1.text=text1.text&str(A)&str(B)&chr(13)& Chr(10)Next i

      35判定素數(shù)

      A=val(inputbox(“input a”))For i=2 to a

      If(a mod i=0)then Exit for End if Next i

      If i

      36求sum

      1+(1+2)+(1+2+3)………….n = Val(Text1.Text)sum = 0

      For i = 1 To n sum1 = 0 For j = 1 To i sum1 = sum1 + j Next j sum = sum + sum1 Next i Text2.Text = sum

      37求50名學生的平均成績并統(tǒng)計高于平均分的人

      Dim c(1 to 50)as integer Dim p!,n%,i% P=0 For i=1 to 50 C(i)=inputbox(“請輸入第”&i&”位學生的成績”

      P=p+c(i)Next i P=p/50 N=0 For i= 1 to 50 If c(i)>p then n=n+1 Next i Print “平均分=”;”高于平均分的人數(shù)=”;n

      設(shè)C=0.3,編寫程序,計算并輸出下面級數(shù)的部分和。結(jié)果取小數(shù)點后面7位。C/1!-C^3/3!+C^5/5!-? +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ ? Dim n as integer Dim x as integer X=0.3 Dim item as double Dim sum as double Dim fact as double For n=1 to 35 Fact=1 Dim I as integer For I =1 to 2*n-1 Fact=fact*i Next Item =(-1)^(n-1)*x^(2*n-1)/fact Sum=sum+item Next Sum=int(sum*10000000+0,.5)/100000000

      Magbox

      39已知A、B為整數(shù)A和B的立方和為1000求所有的A、B。

      Dim x ,y as integer For x=0 to10 For y=0 to10

      If x^3+y^3=1000 then Msgbox(x=;y=)

      定義一個下標上界為30的單精度數(shù)組,設(shè)置好其初值(值處于[20,90]),計算數(shù)組中所有元素的均值。Dim array(30)as single For i=0

      Array(i)=20+int(rnd()*71)Next i

      Dim sum% For i=0 to 30

      Sum=sum+array(i)Next i

      Print sum 31 End sum

      41求下面級數(shù)前S項中奇數(shù)項的和sum。在求和過程中,以第一個奇數(shù)項的數(shù)值大于 10000 的項為末項。1!-2!+3!-4!+ ? +(-1)^(S-1)*S!+ ?

      Dim n as integer Dim item double Dim I as integer Dim sum as double Dim abs as double Do while true Item =1 For I =1 to n Item = item*1 Next i

      Sum=sum +item N=n+2

      If abs(item)>10000 then Exit do Else N=n+2 End if Loop Msgbox(sum)

      42計算sum=1/1!+1/2!+1/3!+....+1/10!Private Sub Command1_Click()Dim m As Integer, n As Long, s As Double n = 1 s = 0 For m = 1 To 10 n = n * m s = s + 1 / n Next Print s

      42求從[j,s]區(qū)間內(nèi)的素數(shù)及素數(shù)和(這里需要用到三個文本框和2個按鈕)'Private Sub Command1_Click()Dim n%, i%, j%, s% Sum = 0 j = Val(Text1.Text())s = Val(Text2.Text())For n = j To s For i = 2 To n1 Then Sum = Sum + n: Print n Next n Text3.Text = Sum End Sub Private Sub Command2_Click()Cls Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text1.SetFocus End Sub 43某分段函數(shù)描述如下:(1)當x為偶數(shù)時,y的值為x的二分之一。(2)當x為奇數(shù)時,y的值為x的二倍。Private Sub Command1_Click()Dim x!, y!x = Val(InputBox(”請輸入X的值!“))

      If x Mod 2 = 0 Then y = x / 2 Else y = 2 * x MsgBox(y)End If End Sub

      44隨機輸出一個小寫字母。Private Sub Command1_Click()Dim a As String Randomize

      a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、45編寫程序,計算并輸出下面級數(shù)前n項(n=50)中偶數(shù)項的和。s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....Private Sub Command1_Click()Dim s!, i%

      For i = 2 To 50 Step 2 s = s + i *(i + 1)Next

      MsgBox(s)End Sub

      46編寫程序,設(shè)n=20,x=3.4,計算并輸出S(n)的值,要求結(jié)果保留5位小數(shù)。S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....Private Sub Command1_Click()Dim x#, i%

      Dim S(20)As Double n = 20 x = 3.4

      For i = 1 To 20

      S(20)= S(20)+ Log(i * x)/(x ^ i)Next

      Print Format(S(20), ”0.00000“)End Sub

      47設(shè) S=35,C=0.3,編寫程序,計算并輸出下面級數(shù)的部分和。結(jié)果取小數(shù)點后面7位。C/1!-C^3/3!+C^5/5!-? +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ ?

      參考答案如下:

      Private Sub Command1_Click()

      Dim n As Integer

      Dim x As Double

      x = 0.3

      Dim item As Double

      Dim sum As Double

      Dim fac As Double

      For n = 1 To 35

      fac = 1

      Dim i As Integer

      For i = 1 To 2 * n1)* x ^(2 * n1

      fac = fac * i

      Next

      item =(-1)^(n1)/ fac

      sum = sum + item

      Next

      sum = Int(sum * 10000000 + 0.5)/ 10000000

      MsgBox(sum)End Sub

      '

      sum = 0.479426

      49編寫子過程,計算并輸出3000-4000之間的素數(shù)之和C與其中最小的素數(shù)MIN。

      Private Sub Command1_Click()

      Dim sum, i, min As Integer

      min=0

      For i = 3000 To 4000

      Dim isprime As Boolean = True

      Dim j As Integer

      For j = 2 To ia(1))*(pa(3)))MsgBox(s)Else MsgBox(”不能構(gòu)成三角形")End If End Sub

      第二篇:VB編程題(循環(huán)部分總結(jié)題目

      循環(huán)部分

      1.求自然數(shù)1~100之間奇數(shù)之和。

      2.求自然數(shù)1~100之間偶數(shù)之和。

      3.編程計算從200到1000之間的所有4的倍數(shù)之和。

      4.編程計算從300到1000之間的所有7的倍數(shù)之和。

      5.編寫程序在窗體上顯示出:5/6+4/5+3/4+2/3+1/2

      6.編寫程序,通過InputBox函數(shù)從鍵盤上輸入4個數(shù),計算并在窗體上顯示這4個數(shù)的和及平均值。

      7.在窗體的單擊事件過程中,編寫程序計算1!+2!+3!+ ? +20!

      8.有一個窗體,窗體中有一個文本框,名稱為Text1,有一個按鈕,試編寫按鈕的單擊事件,實現(xiàn)計算1!+2!+3!+?+10!,將結(jié)果顯示在文本框Text1中。(或參照 7 用教材:P86 [例4-21] 方法)

      9.編寫程序計算:s=1+1/2!+1/3!+?+1/n!,說明:在窗體中有一個文本框控件:Text1,用來接收n的值,有一個標簽控件:Label1,用來顯示S的值,試編寫窗體的單擊事件,實現(xiàn)計算與顯示功能,只要求寫出事件的主要代碼,事件過程的起始語句和結(jié)束語句可略去。(或 參照7 用教材:P87 [例4-22] 方法)

      10.編寫程序,在窗體上輸出由1、2、3、4、5這五個數(shù)字組成的所有可能的兩位數(shù),并統(tǒng)計它們的個數(shù)。

      說明: 程序中紅色標示的部分 控制 每行輸出5個數(shù)

      11.求s=a+aa+aaa+?+aaa?aaa(n個a),其中a和n的值由用戶自己輸入。例如,當a=3,n=4時,S=3+33+333+3333。

      12.在窗體上輸出下三角的九九乘法表。

      13.編寫程序,將26個字母逆序輸出。

      14.編寫程序,將字符串“山高人為峰”按逆序“峰為人高山”輸出。

      15.設(shè)紙的厚度為0.5毫米,將紙對折,再對折?,求至少對折多少次,紙張的厚度能達到珠穆朗瑪峰的高度8848米。

      16.編寫程序,求s的值,s=1×2×3+2×3×4+?+n×(n+1)×(n+2)的值。n由程序輸入。

      17.編寫一個程序,用戶連續(xù)輸入N個值,直到輸入非數(shù)值數(shù)據(jù)為止。最后輸出其中最大的一個數(shù)。

      18.編寫程序,輸入一個數(shù),判定該數(shù)是否為素數(shù),如果是素數(shù),則輸出“該數(shù)是素數(shù)”的信息,否則輸出“該數(shù)不是素數(shù)”的信息。

      第三篇:趣味編程題整理及答案

      1.抓交通肇事犯

      一輛卡車違反交通規(guī)則,撞人后逃跑?,F(xiàn)場有三人目擊事件,但都沒有記住車號,只記下車號的一些特征。甲說:牌照的前兩位數(shù)字是相同的;乙說:牌照的后兩位數(shù)字是相同的,但與前兩位不同; 丙是數(shù)學家,他說:四位的車號剛好是一個整數(shù)的平方。請根據(jù)以上線索求出車號。*問題分析與算法設(shè)計

      按照題目的要求造出一個前兩位數(shù)相同、后兩位數(shù)相同且相互間又不同的整數(shù),然后判斷該整數(shù)是否是另一個整數(shù)的平方。*程序說明與注釋 #include #include int main(){ int i,j,k,c;for(i=1;i<=9;i++)/*i:車號前二位的取值*/ for(j=0;j<=9;j++)/*j:車號后二位的取值*/ if(i!=j)/*判斷二位數(shù)字是否相異*/ { k=i*1000+i*100+j*10+j;/*計算出可能的整數(shù)*/ for(c=31;c*c

      Lorry _No.is 7744 2.百錢百雞問題

      中國古代數(shù)學家張丘建在他的《算經(jīng)》中提出了著名的“百錢買百雞問題”:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何? *問題分析與算法設(shè)計

      設(shè)雞翁、雞母、雞雛的個數(shù)分別為x,y,z,題意給定共100錢要買百雞,若全買公雞最多買20只,顯然x的

      值在0~20之間;同理,y的取值范圍在0~33之間,可得到下面的不定方程: 5x+3y+z/3=100 x+y+z=100 所以此問題可歸結(jié)為求這個不定方程的整數(shù)解。由程序設(shè)計實現(xiàn)不定方程的求解與手工計算不同。在分析確定方程中未知數(shù)變化范圍的前提下,可通過對

      未知數(shù)可變范圍的窮舉,驗證方程在什么情況下成立,從而得到相應的解。*程序說明與注釋 #include int main(){ int x,y,z,j=0;printf(“Folleing are possible plans to buy 100 fowls with 100 Yuan.n”);

      for(x=0;x<=20;x++)/*外層循環(huán)控制雞翁數(shù)*/ for(y=0;y<=33;y++)/*內(nèi)層循環(huán)控制雞母數(shù)y在0~33變化*/ { z=100-x-y;/*內(nèi)外層循環(huán)控制下,雞雛數(shù)z的值受x,y的值的制約*/ if(z%3==0&&5*x+3*y+z/3==100)/*驗證取z值的合理性及得到一組解的合理性*/ printf(“%2d:cock=%2d hen=%2d chicken=%2dn”,++j,x,y,z);} } 3.三色球問題

      若一個口袋中放有12個球,其中有3個紅的。3個白的和6個黒的,問從中任取8個共有多少種不同的顏色搭 配?

      *問題分析與算法設(shè)計

      設(shè)任取的紅球個數(shù)為i,白球個數(shù)為j,則黒球個數(shù)為8-i-j,根據(jù)題意紅球和白球個數(shù)的取值范圍是0~3,在紅球和白球個數(shù)確定的條件下,黒球個數(shù)取值應為8-i-j<=6。*程序說明與注釋 #include int main(){ int i,j,count=0;printf(“ RED BALL WHITE BALL BLACKBALLn”);printf(“…………………………………………..n”);for(i=0;i<=3;i++)/*循環(huán)控制變量i控制任取紅球個數(shù)0 ̄3*/ for(j=0;j<=3;j++)/*循環(huán)控制變量j控制任取白球個數(shù)0 ̄3*/ if((8-i-j)<=6)printf(“ %2d: %d %d %dn”,++count,i,j,8-i-j);} 4.馬克思手稿中的數(shù)學題

      馬克思手稿中有一道趣味數(shù)學問題:有30個人,其中有男人、女人和小孩,在一家飯館吃飯花了50先令;每個男人花3先令,每個女人花2先令,每個小孩花1先令;問男人、女人和小孩各有幾人? *問題分析與算法設(shè)計

      設(shè)x,y,z分別代表男人、女人和小孩。按題目的要求,可得到下面的方程: x+y+z=30(1)3x+2y+z=50(2)用方程程序求此不定方程的非負整數(shù)解,可先通過(2)-(1)式得: 2x+y=20(3)由(3)式可知,x變化范圍是0~10 *程序說明與注釋 #include int main(){

      int x,y,z,count=0;printf(“ Men Women Childrenn”);printf(“........................................n”);for(x=0;x<=10;x++){ y=20-2*x;/*x定值據(jù)(3)式求y*/ z=30-x-y;/*由(1)式求z*/ if(3*x+2*y+z==50)/*當前得到的一組解是否滿足式(2)*/ printf(“ %2d: %d %d %dn”,++count,x,y,z);} } 5.新娘和新郞

      三對情侶參加婚禮,三個新郞為A、B、C,三個新娘為X、Y、Z。有人不知道誰和誰結(jié)婚,于是詢問了六位新人中的三位,但聽到的回答是這樣的:A說他將和X結(jié)婚;X說她的未婚夫是C;C說他將和Z結(jié)婚。這人聽后知道他們在開玩笑,全是假話。請編程找出誰將和誰結(jié)婚。

      *問題分析與算法設(shè)計 將A、B、C三人用1,2,3表示,將X和A結(jié)婚表示為“X=1”,將Y不與A結(jié)婚表示為“Y!=1”。按照題目中的敘述可以寫出表達式: x!=1 A不與X結(jié)婚 x!=3 X的未婚夫不是C z!=3 C不與Z結(jié)婚

      題意還隱含著X、Y、Z三個新娘不能結(jié)為配偶,則有: x!=y且x!=z且y!=z 窮舉以上所有可能的情況,代入上述表達式中進行推理運算,若假設(shè)的情況使上述表達式的結(jié)果均為真,則假設(shè)情況就是正確的結(jié)果。*程序說明與注釋 #include int main(){ int x,y,z;for(x=1;x<=3;x++)/*窮舉x的全部可能配偶*/ for(y=1;y<=3;y++)/*窮舉y的全部可能配偶*/ for(z=1;z<=3;z++)/*窮舉z的全部可能配偶*/ if(x!=1&&x!=3&&z!=3&&x!=y&&x!=z&&y!=z)/*判斷配偶是否滿足題意*/ { printf(“X will marry to %c.n”,'A'+x-1);/*打印判斷結(jié)果*/ printf(“Y will marry to %c.n”,'A'+y-1);printf(“Z will marry to %c.n”,'A'+z-1);} } *運行結(jié)果

      X will marry to B.(X與B結(jié)婚)Y will marry to C.(Y與C結(jié)婚)

      Z will marry to A.(Z與A結(jié)婚)6.委派任務(wù)

      某偵察隊接到一項緊急任務(wù),要求在A、B、C、D、E、F六個隊員中盡可能多地挑若干人,但有以下限制條件:

      1)A和B兩人中至少去一人; 2)A和D不能一起去;

      3)A、E和F三人中要派兩人去; 4)B和C都去或都不去; 5)C和D兩人中去一個; 6)若D不去,則E也不去。問應當讓哪幾個人去? *問題分析與算法設(shè)計

      用A、B、C、D、E、F六個變量表示六個人是否去執(zhí)行任務(wù)的狀態(tài),變量的值為1,則表示該人去;變量的值為0,則表示該人不參加執(zhí)行任務(wù),根據(jù)題意可寫出表達式: a+b>1 A和B兩人中至少去一人; a+d!=2 A和D不能一起去;

      a+e+f==2 A、E、F三人中要派兩人去; b+c==0或b+c==2 B和C都去或都不去; c+d==1 C和D兩人中去一個;

      d+e==0或d==1 若D不去,則E也不去(都不去;或D去E隨便)。

      上述各表達式之間的關(guān)系為“與”關(guān)系。窮舉每個人去或不去的各種可能情況,代入上述表達式中進行推理運算,使上述表達式均為“真”的情況就是正確的結(jié)果。*程序說明與注釋 #include int main(){ int a,b,c,d,e,f;for(a=1;a>=0;a--)/*窮舉每個人是否去的所有情況*/ for(b=1;b>=0;b--)/*1:去 0:不去*/ for(c=1;c>=0;c--)for(d=1;d>=0;d--)for(e=1;e>=0;e--)for(f=1;f>=0;f--)if(a+b>=1&&a+d!=2&&a+e+f==2 &&(b+c==0||b+c==2)&&c+d==1 &&(d+e==0||d==1)){ printf(“A will%s be assigned.n”,a?“":”not“);printf(”B will%s be assigned.n“,b?”“:”not“);printf(”C will%s be assigned.n“,c?”“:”not“);printf(”D will%s be assigned.n“,d?”“:”not“);printf(”E will%s be assigned.n“,e?”“:”not“);printf(”F will%s be assigned.n“,f?”“:”not“);}

      } *運行結(jié)果

      A will be assigned.(去)B will be assigned.(去)C will be assigned.(去)D will not be assigned.(不去)E will not be assigned.(不去)F will be assigned.(去)7.50.誰在說謊

      張三說李四在說謊,李四說王五在說謊,王五說張三和李四都在說謊。現(xiàn)在問:這三人中到底誰說的是真話,誰說的是假話? *問題分析與算法設(shè)計

      分析題目,每個人都有可能說的是真話,也有可能說的是假話,這樣就需要對每個人所說的話進行分別判斷。假設(shè)三個人所說的話的真假用變量A、B、C表示,等于1表示該人說的是真話; 表示這個人說的是假話。由題目可以得到: *張三說李四在說謊 張三說的是真話:a==1&&b==0 或 張三說的是假話:a==0&&b==1 *李四說王五在說謊 李四說的是真話:b==1&&c==0 或 李四說的是假話:b==0&&c==1 *王五說張三和李四都在說謊 王五說的是真話:c==1&&a+b==0 或 王五說的是假話:c==0&&a+b!=0 上述三個條件之間是“與”的關(guān)系。將表達式進行整理就可得到C語言的表達式:(a&&!b||!a&&b)&&(b&&!c||!b&&c)&&(c&&a+b==0||!c&&a+b!=0)窮舉每個人說真話或說假話的各種可能情況,代入上述表達式中進行推理運算,使上述表達式均為“真”的情況就是正確的結(jié)果。*程序說明與注釋 #include int main(){ int a,b,c;for(a=0;a<=1;a++)for(b=0;b<=1;b++)for(c=0;c<=1;c++)if((a&&!b||!a&&b)&&(b&&!c||!b&&c)&&(c&&a+b==0||!c&&a+b!=0)){ printf(”Zhangsan told a %s.n“,a?”truth“:”lie“);printf(”Lisi told a %s.n“,b?”truch“:”lie“);printf(”Wangwu told a %s.n“,c?”truch“:”lie“);} } *運行結(jié)果

      Zhangsan told a lie(張三說假話)Lisi told a truch.(李四說真話)Wangwu told a lie.(王五說假話)

      8.黑與白

      有A、B、C、D、E五人,每人額頭上都帖了一張黑或白的紙。五人對坐,每人都可以看到其它人額頭上的紙的顏色。五人相互觀察后,A說:“我看見有三人額頭上帖的是白紙,一人額頭上帖的是黑紙?!?B說:“我看見其它四人額頭上帖的都是黑紙?!?C說:“我看見一人額頭上帖的是白紙,其它三人額頭上帖的是黑紙?!?D說:“我看見四人額頭上帖的都是白紙。” E什么也沒說。

      現(xiàn)在已知額頭上帖黑紙的人說的都是謊話,額頭帖白紙的人說的都是實話。問這五人誰的額頭是帖白紙,誰的額頭是帖黑紙? *問題分析與算法設(shè)計

      假如變量A、B、C、D、E表示每個人額頭上所帖紙的顏色,0 代表是黑色,1 代表是白色。根據(jù)題目中A、B、C、D四人所說的話可以總結(jié)出下列關(guān)系: A說: a&&b+c+d+e==3||!a&&b+c+d+e!=3 B說: b&&a+c+d+e==0||!b&&a+c+d+e!=0 C說: c&&a+b+d+e==1||!c&&a+b+d+e!=1 D說: d&&a+b+c+e==4||!d&&a+b+c+e!=4 窮舉每個人額頭所帖紙的顏色的所有可能的情況,代入上述表達式中進行推理運算,使上述表達式為“真”的情況就是正確的結(jié)果。*程序說明與注釋 #include int main(){ int a,b,c,d,e;for(a=0;a<=1;a++)/*黑色:0 白色:1*/ for(b=0;b<=1;b++)/*窮舉五個人額頭帖紙的全部可能*/ for(c=0;c<=1;c++)for(d=0;d<=1;d++)for(e=0;e<=1;e++)if((a&&b+c+d+e==3||!a&&b+c+d+e!=3)&&(b&&a+c+d+e==0||!b&&a+c+d+e!=0)&&(c&&a+b+d+e==1||!c&&a+b+d+e!=1)&&(d&&a+b+c+e==4||!d&&a+b+c+e!=4)){ printf(”A is pasted a piece of %s paper on his forehead.n“, a?”white“:”black“);printf(”B is pasted a piece of %s paper on his forehead.n“, b?”white“:”black“);printf(”C is pasted a piece of %s paper on his forehead.n“, c?”white“:”black“);printf(”D is pasted a piece of %s paper on his forehead.n“, d?”white“:”black“);printf(”E is pasted a piece of %s paper on his forehead.n“, e?”white“:”black“);

      } } *運行結(jié)果

      A is pasted a paper of black paper on his forehead.(黑)B is pasted a paper of black paper on his forehead.(黑)C is pasted a paper of white paper on his forehead.(白)D is pasted a paper of black paper on his forehead.(黑)E is pasted a paper of white paper on his forehead.(白)9.誠實族和說謊族是來自兩個荒島的不同民族,誠實族的人永遠說真話,而說謊族的人永遠說假話。迷語博士是個聰明的人,他要來判斷所遇到的人是來自哪個民族的。迷語博士遇到三個人,知道他們可能是來自誠實族或說謊族的。為了調(diào)查這三個人是什么族的,博士分別問了他們的問題,這是他們的對話: 問第一個人:“你們是什么族?”,答:“我們之中有兩個來自誠實族。”第二個人說:“不要胡說,我們?nèi)齻€人中只有一個是誠實族的?!钡谌齻€人聽了第二個人的話后說:“對,就是只有一個誠實族的?!?/p>

      請根據(jù)他的回答判斷他們分別是哪個族的。*問題分析與算法設(shè)計

      假設(shè)這三個人分別為A、B、C,若說謊其值為0,若誠實,其值為1。根據(jù)題目中三個人的話可分別列出:

      第一個人: a&&a+b+c==2||!a&&a+b+c!=2 第二個人: b&&a+b+c==1||!b&&a+b+c!=1 第三個人: c&&a+b+c==1||!c&&a+b+c!=1 利用窮舉法,可以很容易地推出結(jié)果。*程序說明與注釋 #include int main(){ int a,b,c;for(a=0;a<=1;a++)/*窮舉每個人是說謊還是誠實的全部情況*/ for(b=0;b<=1;b++)/*說謊:0 誠實:1*/ for(c=0;c<=1;c++)if((a&&a+b+c==2||!a&&a+b+c!=2)/*判斷是否滿足題意*/ &&(b&&a+b+c==1||!b&&a+b+c!=1)&&(c&&a+b+c==1||!c&&a+b+c!=1)){ printf(”A is a %s.n“,a?”honest“:”lier“);/*輸出判斷結(jié)果*/ printf(”B is a %s.n“,b?”honest“:”lier“);printf(”C is a %s.n“,c?”honest“:”lier“);} } *運行結(jié)果

      A is a lier(說謊族)B is a lier(說謊族)C is a lier(說謊族)

      10. 角谷猜想

      日本一位中學生發(fā)現(xiàn)一個奇妙的“定理”,請角谷教授證明,而教授無能為力,于是產(chǎn)生角谷猜想。猜想的內(nèi)容是:任給一個自然數(shù),若為偶數(shù)除以2,若為奇數(shù)則乘3加1,得到一個新的自然數(shù)后按照上面的法則繼續(xù)演算,若干次后得到的結(jié)果必然為1。請編程驗證。*問題分析與算法設(shè)計

      本題是一個沿未獲得一般證明的猜想,但屢試不爽,可以用程序驗證。

      題目中給出的處理過程很清楚,算法不需特殊設(shè)計,可按照題目的敘述直接進行證。*程序說明與注釋 #include int main(){ int n,count=0;printf(”Please enter number:“);scanf(”%d“,&n);/*輸入任一整數(shù)*/ do{ if(n%2){ n=n*3+1;/*若為奇數(shù),n乘3加1*/ printf(”[%d]:%d*3+1=%dn“,++count,(n-1)/3,n);} else { n/=2;/*若為偶數(shù)n除以2*/ printf(”[%d]: %d/2=%dn“,++count,2*n,n);} }while(n!=1);/*n不等于1則繼續(xù)以上過程*/ } 11.常勝將軍

      現(xiàn)有21根火柴,兩人輪流取,每人每次可以取走1至4根,不可多取,也不能不取,誰取最后一楰火柴誰輸。請編寫一個程序進行人機對弈,要求人先取,計算機后??;計算機一方為“常勝將軍”。*問題分析與算法設(shè)計

      在計算機后走的情況下,要想使計算機成為“常勝將軍”,必須找出取 關(guān)鍵。根據(jù)本題的要求枷以總結(jié)出,后走一方取子的數(shù)量與對方剛才一步取子的數(shù)量之和等于,就可以保證最后一個子是留給先取子的那個人的。

      據(jù)此分析進行算法設(shè)計就是很簡單的工作,編程實現(xiàn)也十分容易。*程序說明與注釋 #include int main(){ int a=21,i;printf(”Game begin:n“);while(a>0){

      do{ printf(”How many stick do you wish to take(1~%d)?“,a>4?4:a);scanf(”%d“,&i);}while(i>4||i<1||i>a);/*接收正在確的輸入*/ if(a-i>0)printf(” %d stick left in the pile.n“,a-i);if((a-i)<=0){ printf(” You have taken the last stick.n“);printf(” * * * You lose!nGame Over.n“);/*輸出取勝標記*/ break;} else printf(” Compute take %d stick.n“,5-i);/*輸出計算機取的子數(shù)*/ a-=5;printf(” %d stick left in the pile.n",a);} } 12.

      第四篇:vb語言編程教案

      題:vb語言編程概述 課 時:2課時 授課時間:2011.09.05 課堂類型:講授

      教學目的:1.熟悉VB界面和VB集成開發(fā)環(huán)境;

      2.在實際操作中學會編簡單的VB應用程序;

      教學要求:1.掌握VB基礎(chǔ)知識。

      2.會編簡單的VB應用程序。

      教學重點:1.熟悉VB集成開發(fā)環(huán)境

      2.編寫簡單VB應用程序。

      教學難點:在熟悉VB界面的同時學習編寫簡單VB應用程序 教學方法:講授 教學過程:

      一、VB簡介

      BASIC是英文Beginner’s All-purpose Symbolic Instruction Code(初學者通用符號指令代碼)的縮寫,它是專門為初學者設(shè)計的高級語言。Visual Basic是Microsoft公司于1991年推出的基于窗口的可視化程序設(shè)計語言。

      a.“Visual”是“可視化的”、“形象化的”的意思。b.因此Visual Basic也具有易學易用的特點

      c.目前Visual Basic的最新版本是Visual Basic 6.0(簡稱VB 6.0)

      二、啟動VB

      1、首先顯示“新建工程”對話框

      直接單擊“打開”按鈕,創(chuàng)建“標準EXE”類型應用程序,進入集成開發(fā)環(huán)境主界面。

      2、集成開發(fā)環(huán)境中的各元素 1)標題欄:用來顯示窗口的標題。2)菜單欄 3)工具欄 4)工具箱 5)窗體窗口 6)工程窗口 7)屬性窗口 8)窗體布局窗口

      三、通過一個簡單的應用程序快速入門

      【例1.1(實訓1,p16)】制作一個的一個簡單的應用程序的運行界面。它由一個窗體、一個文本框、一個標簽和一個命令按鈕組成。當用戶單擊命令按鈕“顯示”時,文本框中出現(xiàn)“教你學VB”。1.新建工程 2.添加文本框Text1 3.添加命令按鈕Command1 4.添加標簽Label1 5.設(shè)置屬性 6.編寫事件過程代碼

      前面的工作把應用程序的界面設(shè)計好了,屬性也設(shè)置完畢。但現(xiàn)在應用程序并不能實現(xiàn)實際的功能。為了使它具有一定的功能,還必須為對象編寫實現(xiàn)某一功能的事件過程代碼。1)雙擊窗體上的“顯示”按鈕,屏幕上出現(xiàn)代碼窗口,程序代碼就在這里編寫。編寫如下事件過程:

      Private Sub Command1_Click()Text1.Text = “歡迎使用VB” End Sub 2)運行應用程序 3)保存應用程序

      VB應用程序至少有兩種文件需要保存: · 窗體文件(.frm)· 工程文件(.vbp)4)生成EXE文件

      四、總結(jié)步驟

      設(shè)計VB應用程序主要有以下4個步驟:(1)設(shè)計用戶界面。(2)設(shè)置屬性。(3)編寫代碼。(4)保存和運行調(diào)試程序,生成EXE文件。

      五、知識延伸

      1、只有一個文本框的實例 編寫如下事件過程:

      Private Sub Command1_Click()Text1.Text = “教你學VB“ End Sub

      2、多個文本框時 編寫如下事件過程:

      Private Sub Command1_Click()Text1.Text = ”教你學VB“ Text2.Text = “歡迎使用VB“ End Sub

      3、按照系統(tǒng)的元件特性分類(分別舉例說明)課后實訓1 第二個命令按鈕:清除 第三個命令按鈕:退出 步驟:

      1.添加2個命令按鈕 2.雙擊按鈕,進入編程狀態(tài) 3.和顯示按鈕命令編程相似 編寫如下事件過程: Private Sub Command2_Click()Text1.Text = ” “ End Sub Private Sub Command3_Click()End End Sub

      4、圖片的加載方法

      Private Sub Form_Load()Image1.Picture = LoadPicture(App.Path + “1.BMP”)End Sub

      六、小結(jié) 1.熟悉界面。

      2.掌握完整編程過程以及運行及調(diào)試程序的過程。

      第五篇:c語言編程題答案

      六、編程題參考答案

      1.編程,統(tǒng)計在所輸入的50個實數(shù)中有多少個正數(shù)、多少個負數(shù)、多少個零。#include “stdio.h” #define N 50 void main(){ float x;unsigned int s1,s2,s3,i;s1=s2=s3=0;for(i=1;i<=N;i++){ scanf(“%f”,&x);if(x<0)s1++;else if(x==0)s2++;else s3++;} printf(“負數(shù)%u個,零%u個,正數(shù)%u個n”,s1,s2,s3);}

      2.編程,計算并輸出方程 X2+Y2=1989 的所有整數(shù)解。#include “stdio.h” void main(){ int x,y;for(x=-45;x<=45;x++){ y=-45;while(y<=45){ if(x*x+y*y==1989)printf(“%d*%d+%d*%d=%dn”,x,x,y,y,1989);y++;} } }

      3.編程,輸入一個10進制正整數(shù),然后輸出它所對應的八進制、十六進制數(shù)。#include “stdio.h” void main(){ unsigned int x;printf(“請輸入一個十進制正整數(shù):”);scanf(“%u”,&x);printf(“%d=八進制數(shù) %o=十六進制數(shù)%xn”,x,x,x);}

      4.編程,找出1000以內(nèi)的所有完數(shù),并輸出其因子。#include “stdio.h” void main(){ int i,j,s=1;for(i=1;i<=1000;i++,s=1){ for(j=2;j<=i/2;j++)if(i%j==0)s+=j;// 求 i的因子和

      if(s==i){ printf(“%d=1”,i);// 如果i 是完數(shù)則輸出其各因子

      for(j=2;j<=i/2;j++)if(i%j==0)printf(“+%d”,j);printf(“n”);} } }

      5.輸入一個正整數(shù),輸出它的所有質(zhì)數(shù)因子。#include “stdio.h” void main(){ int m,i=2;printf(“請輸入一個整數(shù):”);scanf(“%d”,&m);while(m!=1)if(m%i==0){ printf(“%d ”,i);m/=i;} else i++;printf(“n”);}

      6.輸入20個整數(shù),輸出其中能被數(shù)組中其它元素整除的那些數(shù)組元素。#include “stdio.h” #define N 20 void main(){ int a[N],i,j;for(i=0;i

      7.輸入兩個數(shù)組(數(shù)組元素個數(shù)自定),輸出在兩個數(shù)組中都出現(xiàn)的元素。#include “stdio.h” #define NA 6 #define NB 8 void main(){ float a[NA],b[NB];int i,j;for(i=0;i

      8.輸入兩個數(shù)組(數(shù)組元素個數(shù)自定),輸出在兩個數(shù)組中都不出現(xiàn)的元素。#include “stdio.h” #define NA 6 #define NB 8 void main(){ float a[NA],b[NB];int i,j;for(i=0;i

      9.編程,將字符數(shù)組S2中的全部字符拷貝到字符數(shù)組S1中。#include “stdio.h” void main(){ char s1[20],s2[]=“Good morning!”;int i=0;while((s1[i++]=s2[i])!='