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

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

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

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

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

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

      時(shí)間:2019-05-14 17:57:21下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《VB編程題(循環(huán)部分總結(jié)題目》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《VB編程題(循環(huán)部分總結(jié)題目》。

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

      循環(huán)部分

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

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

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

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

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

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

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

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

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

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

      說(shuō)明: 程序中紅色標(biāo)示的部分 控制 每行輸出5個(gè)數(shù)

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

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

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

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

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

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

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

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

      第二篇:VB編程題及答案

      1定義一個(gè)下標(biāo)上界為10整型數(shù)組,并用隨機(jī)函數(shù)為其賦值(值處于[0,100]之間),計(jì)算數(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,編寫程序,計(jì)算并輸出下面級(jí)數(shù)的部分和。結(jié)果取小數(shù)點(diǎn)后面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.編寫一個(gè)函數(shù),求某個(gè)數(shù)的階乘。

      調(diào)用該函數(shù)計(jì)算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(“輸入一個(gè)正整數(shù):

      ”)

      s = fact(m)

      MsgBox(s)End Sub ‘479001600 14.編寫子過(guò)程,計(jì)算并輸出3000-4000之間的素?cái)?shù)之和C與其中最小的素?cái)?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 編寫一個(gè)函數(shù),其功能為求兩個(gè)數(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輸入一個(gè)年份,判斷該年份是否是平年,若是則輸出“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 輸入兩個(gè)整數(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求下面級(jí)數(shù)前n項(xiàng)的和S,在求和

      過(guò)程中,當(dāng)某項(xiàng)(注意,該項(xiàng)參與求和)的絕對(duì)值小于0.0001 時(shí)求和終止。結(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 編寫一個(gè)函數(shù),其功能為判斷一個(gè)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(“輸入一個(gè)3位正

      MsgBox(Panduan(i))End Sub 定義一個(gè)下標(biāo)上界為10整型數(shù)組,并為其賦值(值處于[0,100]之間),計(jì)算數(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.編寫程序,求下面級(jí)數(shù)前n項(xiàng)的和s=1/1!-1/2!+1/3!-1/4!+....+(-1)^(n-1)*1/n!+.....。

      '求和過(guò)程當(dāng)某一項(xiàng)的絕對(duì)值小于0.0001時(shí)結(jié)束(注意,該項(xiàng)參與求和),計(jì)算并輸出所求的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輸入一個(gè)四位數(shù),分別輸出它的個(gè)位數(shù)字,是十位數(shù)字,百位數(shù)字,千位數(shù)字。Private Sub Command1_Click()Dim a%, j%, k%, i%, m% a = InputBox(”請(qǐng)輸入一個(gè)四位整數(shù)“)j = a 1000 k = a 100 Mod 10 i = a 10 Mod 10 m = a Mod 10 Print ”個(gè)位數(shù)字;“;m Print ”十位數(shù)字;“;i Print ”百位數(shù)字;“;k Print ”千位數(shù)字;“;j End Sub 6.計(jì)算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編寫程序,計(jì)算并輸出下面級(jí)數(shù)前n項(xiàng)(n=20)中奇數(shù)項(xiàng)的和。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隨機(jī)輸出一個(gè)小寫字母。Private Sub Command1_Click()Dim a As String Randomize

      a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、29編寫程序,計(jì)算并輸出下面級(jí)數(shù)前n項(xiàng)(n=50)中偶數(shù)項(xiàng)的和。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ù)列是由計(jì)算某類動(dòng)物繁殖增長(zhǎng)量而提出的。數(shù)列的前兩項(xiàng)是1、1,以后的每一項(xiàng)都是其相鄰前兩項(xiàng)的和。編寫程序求:數(shù)列前30項(xiàng)和。

      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輸入三個(gè)數(shù)a、b、c,編寫程序使得a<=b<=c,并輸出a、b、c的值。Private Sub Command1_Click()Dim a%, b%, c%, t%

      a = Val(InputBox(”請(qǐng)輸入a的值!“))b = Val(InputBox(”請(qǐng)輸入b的值!“))c = Val(InputBox(”請(qǐng)輸入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,計(jì)算并輸出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輸入任意三個(gè)數(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之間的素?cái)?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項(xiàng) 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判定素?cái)?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名學(xué)生的平均成績(jī)并統(tǒng)計(jì)高于平均分的人

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

      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,編寫程序,計(jì)算并輸出下面級(jí)數(shù)的部分和。結(jié)果取小數(shù)點(diǎn)后面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=)

      定義一個(gè)下標(biāo)上界為30的單精度數(shù)組,設(shè)置好其初值(值處于[20,90]),計(jì)算數(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求下面級(jí)數(shù)前S項(xiàng)中奇數(shù)項(xiàng)的和sum。在求和過(guò)程中,以第一個(gè)奇數(shù)項(xiàng)的數(shù)值大于 10000 的項(xiàng)為末項(xiàng)。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計(jì)算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)的素?cái)?shù)及素?cái)?shù)和(這里需要用到三個(gè)文本框和2個(gè)按鈕)'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)當(dāng)x為偶數(shù)時(shí),y的值為x的二分之一。(2)當(dāng)x為奇數(shù)時(shí),y的值為x的二倍。Private Sub Command1_Click()Dim x!, y!x = Val(InputBox(”請(qǐng)輸入X的值!“))

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

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

      a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、45編寫程序,計(jì)算并輸出下面級(jí)數(shù)前n項(xiàng)(n=50)中偶數(shù)項(xiàng)的和。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,計(jì)算并輸出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,編寫程序,計(jì)算并輸出下面級(jí)數(shù)的部分和。結(jié)果取小數(shù)點(diǎn)后面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編寫子過(guò)程,計(jì)算并輸出3000-4000之間的素?cái)?shù)之和C與其中最小的素?cái)?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)語(yǔ)句

      注:被中括號(hào)(“[”、“]”)括起來(lái)的都是可選參數(shù)!

      For Each...Next 語(yǔ)句: 語(yǔ)句格式

      For Each Variant In Collection Or Array

      [Statement(s)]

      [Exit For]

      [Statement(s)] Next [Variant] 參數(shù)解釋

      Variant: 如果In后面是一個(gè)集合(Collection),Variant可以是任何數(shù)據(jù)類型的一個(gè)變量;如果In后面是一個(gè)數(shù)組(Array),Variant就只能是一個(gè)Variant變量。

      Collection: 可以是任何一個(gè)對(duì)象集合。Array: 可以是任何一個(gè)數(shù)組(Type數(shù)組除外)。Statement(s): 可以是任何一句或多句語(yǔ)句。

      Exit For: 可以強(qiáng)制退出循環(huán)體。For Each...Next 語(yǔ)句的作用

      集合/數(shù)組里面有多少對(duì)象/多少維,F(xiàn)or Each...Next 語(yǔ)句就會(huì)執(zhí)行多少次Statement(s)。

      Do...Loop 語(yǔ)句: 語(yǔ)句格式

      Do [{While | Until} Condition]

      [Statement(s)]

      [Exit Do]

      [Statement(s)] Loop [{While | Until} Condition] 參數(shù)解釋

      While: 如果While在Do后面,那么循環(huán)體一開始就會(huì)檢查Condition的值,如果Condition的值為False,就退出循環(huán)體;否則,執(zhí)行Statement(s);如果While在Loop后面,則在執(zhí)行完第一次Statement(s)時(shí)才檢查Condition的值,如果Condition的值為False,就退出循環(huán)體;否則,繼續(xù)循環(huán)。

      Until: 如果Until在Do后面,那么循環(huán)體一開始就會(huì)檢查Condition的值,如果Condition的值為True,就退出循環(huán)體;否則,執(zhí)行Statement(s);如果Until在Loop后面,則在執(zhí)行完第一次Statement(s)時(shí)才檢查Condition的值,如果Condition的值為True,就退出循環(huán)體;否則,繼續(xù)循環(huán)。

      Condition: 可以是任何一個(gè)表達(dá)式。Statement(s): 可以是任何一句或多句語(yǔ)句。

      Exit Do: 可以強(qiáng)制退出循環(huán)體。Do...Loop 語(yǔ)句的作用

      重復(fù)循環(huán)Statement(s),直到Condition為True或False(在指定了While或Until的情況下)。

      For...Next 語(yǔ)句: 語(yǔ)句格式

      For Counter = Start To End [Step Step]

      [Statement(s)]

      [Exit For]

      [Statement(s)] Next [Counter] 參數(shù)解釋

      Counter: 可以是任何一個(gè)變量(但不能是Boolean或者是數(shù)組),用來(lái)做計(jì)數(shù)器。Start: Counter的初值。End: Counter的終值。

      Step: Counter一次增加多少,默認(rèn)為1。1次增加n: For...=...To...Step n;1次減n: For...=...To...Step-n。

      Statement(s): 可以是任何一句或多句語(yǔ)句。

      Exit For: 可以強(qiáng)制退出循環(huán)體。For...Next 語(yǔ)句的作用

      重復(fù)執(zhí)行((End-Counter)Step)次Statement(s)。

      While...Wend 語(yǔ)句: 語(yǔ)句格式

      While Condition

      [Statement(s)] Wend 參數(shù)解釋

      Condition: 可以是任何一個(gè)表達(dá)式。Statement(s): 可以是任何一句或多句語(yǔ)句。

      While...Wend 語(yǔ)句的作用

      重復(fù)執(zhí)行語(yǔ)句,直到Condition不為True。

      第四篇:編程題總結(jié)

      C作業(yè)匯總

      1.short a,b=32767;/*short類型在內(nèi)存中占2B*/ a=b+1;問(wèn):a的值是多少?并分析原因。

      2.有一4位數(shù)整數(shù),假設(shè)用abcd表示,請(qǐng)把這個(gè)4位數(shù)的每個(gè)數(shù)位用表達(dá)式表示出來(lái)。3.從鍵盤輸入圓的半徑r,計(jì)算并輸出圓的面積s(要求:半徑r定義為float型;圓周率?定義為符號(hào)常量;面積s保留2位小數(shù))#define PI 3.14159 #include void main(){ float r,s;printf(“請(qǐng)輸入半徑r:n”);scanf(“%f”,&r);s=PI*r*r;printf(“面積是:%.2fn”,s);}

      4.輸入m>=3的正整數(shù),判斷m是否素?cái)?shù)。畫出算法流程圖及NS圖

      5.有一函數(shù):

      x?1 ?x ?y??2x?1 1?x?10

      ?3x-11 x?10 ?寫一段程序,輸入x,輸出y值。

      要求x,y聲明為float類型,y保留2位小數(shù)。#include void main(){ float x,y;printf(“請(qǐng)輸入x的值:n”);scanf(“%f”,&x);

      if(x<1)

      y=x;else

      if(x<10)

      y=2*x-1;

      else

      y=3*x-11;

      }

      printf(“y=%.2fn”,y);

      x3x5x7x9?????,6.課后習(xí)題4.17(P159)利用泰勒級(jí)數(shù)sinx?x?計(jì)算sinx的3!5!7!9!值。要求最后一項(xiàng)的絕對(duì)值小于10,并統(tǒng)計(jì)出此時(shí)累加了多少項(xiàng)。#include #include void main(){ float x,sinx=0;float term;

      /*記錄每個(gè)項(xiàng)數(shù)*/ int n=1,count=0;/*count記錄累加了多少項(xiàng)*/

      printf(“請(qǐng)輸入x值(弧度):n”);scanf(“%f”,&x);

      term=x/n;while(fabs(term)>1e-5)

      /* while循環(huán)*/ {

      sinx+=term;

      count++;

      n+=2;

      term=-term*x*x/((n-1)*n);}

      /* do

      /*do while循環(huán)*/ {

      sinx+=term;

      count++;

      n+=2;

      term=-term*x*x/((n-1)*n);}while(fabs(term)>1e-5);

      */

      printf(“sin(%.2f)=%.4fn”,x,sinx);printf(“一共累加了:%d項(xiàng)。n”,count);}

      7.用牛頓迭代法求下面方程在1.5附近的根:

      2x?4x?3x?6?0 32?5

      牛頓迭代公式:

      x1?x0?f(x0)f?(x0)

      #include #include void main(){ float x0,x1=1.5;float y1,y2;

      /*y1記錄f(x0),y2記錄f(x0)的導(dǎo)數(shù)*/

      do {

      x0=x1;

      y1=2*x0*x0*x0-4*x0*x0+3*x0-6;

      y2=6*x0*x0-8*x0+3;

      x1=x0-y1/y2;}while(fabs(x1-x0)>1e-5);

      printf(“the root is:%.2fn”,x1);}

      8.寫一函數(shù),輸入一個(gè)16進(jìn)制整數(shù),輸出相應(yīng)的10進(jìn)制數(shù)。例:從鍵盤輸入2a,輸出結(jié)果是42。

      要求:若輸入數(shù)據(jù)不合法,則輸出提示信息。如輸入了35g,輸出“您輸入的16進(jìn)制數(shù)不合法!”。

      #include #include void main(){ char c;int sum=0;

      printf(“請(qǐng)輸入一個(gè)16進(jìn)制數(shù)字:n”);

      while((c=getchar())!='n'){

      if(c>='0' && c<='9')

      sum=sum*16+c-'0';

      else

      if(c>='a' && c<='f')

      sum=sum*16+c-87;

      else

      if(c>='A' && c<='F')

      sum=sum*16+c-55;

      else

      {

      printf(“您輸入的16進(jìn)制不合法.n”);

      exit(0);

      } }

      printf(“相應(yīng)的10進(jìn)制數(shù)是:%dn”,sum);} 方法2:用字符串處理的方式 #include #include void main(){ char str[20];int i,sum=0;

      printf(“請(qǐng)輸入一個(gè)16進(jìn)制數(shù)字:n”);gets(str);

      for(i=0;str[i];i++){

      if(str[i]>='0' && str[i]<='9')

      sum=sum*16+str[i]-'0';

      else

      if(str[i]>='a' && str[i]<='f')

      sum=sum*16+str[i]-87;

      else

      if(str[i]>='A' && str[i]<='F')

      sum=sum*16+str[i]-55;

      else

      {

      printf(“您輸入的16進(jìn)制不合法.n”);

      exit(0);

      } }

      printf(“相應(yīng)的10進(jìn)制數(shù)是:%dn”,sum);} 方法3:用字符數(shù)組及指針處理的方式 #include #include void main()

      { char str[20],*p=str;int sum=0;

      printf(“請(qǐng)輸入一個(gè)16進(jìn)制數(shù)字:n”);gets(p);

      while(*p){

      if(*p>='0' && *p<='9')

      sum=sum*16+*p-'0';

      else

      if(*p>='a' && *p<='f')

      sum=sum*16+*p-87;

      else

      if(*p>='A' && *p<='F')

      sum=sum*16+*p-55;

      else

      {

      printf(“您輸入的16進(jìn)制不合法.n”);

      exit(0);

      }

      p++;}

      printf(“相應(yīng)的10進(jìn)制數(shù)是:%dn”,sum);} 9.編寫一個(gè)小函數(shù),其功能是計(jì)算兩個(gè)整數(shù)的平均值,該函數(shù)要在主函數(shù)中調(diào)用。

      #include void main(){ int x,y;float avg;float average(int,int);printf(“輸入x,y的值,用空格分隔兩個(gè)數(shù):n”);scanf(“%d%d”,&x,&y);

      avg=average(x,y);

      printf(“%d,%d的平均值是:%.2fn”,x,y,avg);}

      float average(int x,int y)

      { return(x+y)/2.0;}

      10.有N(N用宏定義為符號(hào)常量)個(gè)元素的一維整型數(shù)組,該數(shù)組中各元素值從鍵盤隨機(jī)輸入。然后,將這個(gè)整型數(shù)組中的值逆序存放。例如,原來(lái)5個(gè)元素的順序?yàn)?、1、4、6、5,逆序之后各元素的值是5、6、4、1、8 #define N 5 #include void main(){ int a[N];int i,t;

      printf(“輸入%d個(gè)整數(shù),用空格或回車分隔:n”,N);for(i=0;i

      scanf(“%d”,&a[i]);

      printf(“數(shù)組原來(lái)的值是:n”);for(i=0;i

      printf(“%dt”,a[i]);

      for(i=0;i

      t=a[i];

      a[i]=a[N-1-i];

      a[N-1-i]=t;}

      printf(“n逆序之后數(shù)組的值是:n”);for(i=0;i

      printf(“%dt”,a[i]);

      printf(“n”);} 11.有N(N用宏定義為符號(hào)常量)個(gè)元素的一維整型數(shù)組,該數(shù)組中各元素值從鍵盤隨機(jī)輸入。然后,對(duì)該數(shù)組元素進(jìn)行由小到大排序(要求,該功能用函數(shù)實(shí)現(xiàn)),輸出數(shù)組中各元素值。最后,從鍵盤隨機(jī)輸入一個(gè)整數(shù),并把該整數(shù)插入上述數(shù)組中(該功能用函數(shù)實(shí)現(xiàn)),使得插入該整數(shù)后的數(shù)組仍然有序,輸出數(shù)組中各元素的值。#define N 5 #include void main(){ int a[N+1];

      int i,x;void sort(int array[],int n);void insert(int array[],int n,int x);

      printf(“輸入%d個(gè)整數(shù),用空格或回車分隔:n”,N);for(i=0;i

      scanf(“%d”,&a[i]);

      sort(a,N);

      /*調(diào)用sort對(duì)數(shù)組進(jìn)行排序*/

      printf(“n升序排序之后數(shù)組的值是:n”);for(i=0;i

      printf(“%d

      ”,a[i]);

      printf(“n輸入一個(gè)x值插入到數(shù)組中:n”);scanf(“%d”,&x);

      insert(a,N,x);

      printf(“n插入%d之后數(shù)組的值是:n”,x);for(i=0;i

      printf(“%d

      ”,a[i]);

      printf(“n”);}

      void sort(int array[],int n)/*用選擇法對(duì)數(shù)組array升序排序*/ { int i,j,t,min;

      for(i=0;i

      min=i;

      for(j=i+1;j

      if(array[j]

      min=j;

      if(min!=i)

      {

      t=array[i];

      array[i]=array[min];

      array[min]=t;

      } } }

      void insert(int array[],int n,int x){ int i,pos;

      for(i=0;i

      pos=i;

      for(i=n-1;i>=pos;i--)

      array[i+1]=array[i];

      array[pos]=x;}

      12.有一整型數(shù)組,N(N用宏定義為符號(hào)常量)個(gè)元素,該數(shù)組中各元素值從鍵盤隨機(jī)輸入。從鍵盤隨機(jī)輸入一個(gè)整數(shù)x,刪除該數(shù)組中值與x相同的所有元素(該功能用函數(shù)實(shí)現(xiàn)),輸出數(shù)組中各元素的值。#define N 5 #include void main(){ int a[N];int i,x,n;int delet(int a[],int n,int x);

      printf(“輸入%d個(gè)整數(shù),用空格或回車分隔:n”,N);for(i=0;i

      scanf(“%d”,&a[i]);

      printf(“數(shù)組原來(lái)的值是:n”);for(i=0;i

      printf(“%dt”,a[i]);

      printf(“n請(qǐng)輸入要?jiǎng)h除的值x:n”);scanf(“%d”,&x);

      n=delet(a,N,x);

      /*n值是刪除與x相同的元素后,數(shù)組剩余元素的個(gè)數(shù)。*/

      printf(“刪除%d之后數(shù)組的值是:n”,x);for(i=0;i

      printf(“%d

      ”,a[i]);

      printf(“n”);

      }

      int delet(int a[],int n,int x){ int i,j;

      for(i=0,j=0;i

      if(a[i]!=x)

      a[j++]=a[i];

      return j;}

      13.從鍵盤隨機(jī)輸入一字符串,將所有ASCII值為偶數(shù)的字符輸出。例如:輸入abc123,輸出結(jié)果是b2(因?yàn)閎的ASCII值是98,2的ASCII值是50,其他字符的ASCII值都是奇數(shù))

      #include #define N 40 void main(){ char str[N];int i;

      printf(“輸入字符串:n”);gets(str);

      printf(“ASCII碼是偶數(shù)的字符有:”);for(i=0;str[i];i++)

      if(str[i]%2==0)putchar(str[i]);

      printf(“n”);}

      14.從鍵盤輸入兩個(gè)字符串s1,s2,把s2連接到s1的末尾。不能用strcat函數(shù) #include #define N 40 void main(){ char str1[N],str2[N];void mystrcat(char *p1,char *p2);

      printf(“輸入兩個(gè)字符串,輸入回車鍵結(jié)束:n”);gets(str1);gets(str2);

      mystrcat(str1,str2);

      printf(“連接在一起的字符串是:n”);puts(str1);

      }

      void mystrcat(char *p1,char *p2){ while(*p1)p1++;while(*p2)

      *p1++=*p2++;*p1='