單迴圈程式設計上機 附程式與結果

2022-10-07 03:09:03 字數 3237 閱讀 3656

單迴圈程式設計上機

(附程式與結果)

1. 求和(用do while 與for 迴圈完成)

s=1+1/3+1/5+…+1/999

解:和式中各項的分子都是1,分母分別為1,3,5,…,999,遞增2的規律,可用迴圈來實現:

set talk off

s=0for k=1 to 999 step 2

s=s+1/k

endfor

? s

return

或:set talk off

s=0k=1

do while k<=999

s=s+1/k

k=k+2

enddo

? s

return

結果: 4.0891

2. 求和(用do while 與for 迴圈完成)

s=1-1/2+1/3-1/4+…-1/100

set talk off

s=0for k=1 to 100

if k%2>0

s=s+1/k

else

s=s-1/k

endif

endfor

? s

return

或:set talk off

s=0k=1

do while k<=100

if k%2>0

s=s+1/k

else

s=s-1/k

endif

k=k+1

enddo

? s

return

結果: 0.6882

3. 要使和

1+1/2+1/3+…+1/n>10,

n至少為多大?

設計1:

set talk off

set deci to 8

s=0for n=1 to 100000 && k約定100000內

s=s+1/n

if s>10 && 每求乙個和後檢驗

exit

endif

endfor

? n,s

return

設計2:

n=0s=0

do while s<=10

n=n+1

s=s+1/n

enddo

? n,s

return

結果: 12367

4. 求出只要能被2,7,9之一整除的1000以內的正整數之和.

set talk off

s=0for n=1 to 1000

if n%2=0 or n%7=0 or n%9=0

s=s+n

endif

endfor

? s

return

結果: 309979

5. 程式設計序求出100到800之間同時滿足除4餘1和除5餘3的整數的個數.

set talk off

k=0for n=100 to 800

if n%4=1 and n%5=3

k=k+1

endif

endfor

? k

return

結果: 35

6. 程式設計序,計算在10至99的範圍內有多少個數,其各位數字的乘積小於各位數字的和。

* 計算在10至99的範圍內有多少個數,其各位數字的乘積小於各位數字的和。

set talk off

k=0for n=10 to 99

a=int(n/10)

b=n%10

if a*b k=k+1

endif

endfor

? k

return

結果: 26

7. 程式設計序求出1到100之間同時滿足除3餘2和除4餘2條件的數的和.

set talk off

s=0for n=1 to 100

if n%3=2 and n%4=2

s=s+n

endif

endfor

? s

return

結果: 450

8. 程式設計序求出10-600以內的不能被7整除的數的平方和.

* 程式設計序求出10-600以內的不能被7整除的數的平方和.

set talk off

s=0for n=10 to 600

if n%7>0

s=s+n*n

endif

endfor

? s

return

結果: 61971449

9. 編寫程式,統計區間[1000,9999]內所有能被6整除,且千位數字與個位數字之和為5的整數的個數。

k=0for n=1000 to 9999

if n%6=0 and int(n/1000)+n%10=5

k=k+1

endif

endfor

? k

return

結果:99

10. 編寫程式,求所有3位回文數的個數k,及這些回文數之和s。

* 所有3位回文數的個數k,及這些回文數之和s。

k=0s=0

for n=100 to 999

if int(n/100)=n%10

k=k+1

s=s+n

endif

endfor

? k,s

return

結果: 90,49500

概括:1. 一般計算問題,既可用條件迴圈(do while)求解,也可用計數迴圈(for)求解。

2. 通常有明確區間的應用for迴圈較為方便, 而沒有明確區間的應用do while迴圈求解.

3. 應用do while迴圈注意:

迴圈初值、迴圈步長、迴圈步長的位置。

檢查迴圈的起點與終點。

4. 應用for迴圈的一般格式:

《求和變數s或統計變數m>=0

for k=《起點》 to 《終點》 step 《步長》

if 《篩選條件》

? k && 輸出篩選所得解

s=s+k && 求和

m=m+1 && 統計個數

endif

endfor

《輸出結果》

5. 考試中程式部分有填空、改錯等題型。

根據目標進行填空、改錯;

程式存檔;

執行程式;

填寫結果。

上機實驗六迴圈結構程式設計二

for i 2 i sqrt n i if n i 0 break if i sqrt n return 1 n是素數,返回1 else return 0 若為假,n不是素數返回0 編譯 連線並執行該程式,結果顯示 問題1 輸出的第一行是否有5個式子?原因是什麼?只有3個,因為k是偶數,且取值從6開...

上機實驗五 迴圈結構程式設計答案

姓名學號姓名 本次實驗一共5個題目,4個必做,乙個選做 我建的浙師大c程式設計群,群號為 185106065,大家加入下,驗證資訊請寫為班級 姓名。我打算以後把每次實驗的答案 我寫的 都放到群共享裡面,大家可以在群裡討論下不會的地方或者不同的實現方法。重要提醒 郵件主題和本word檔名統一用班級 學...

籃球單迴圈比賽排列方法

比賽採用單迴圈制時,比賽場數 隊數 隊數 1 2,如有五支球隊或六支球隊參加比賽,比賽場數分別為5 5 1 2 10 場 和 6 6 1 2 15 場 比賽輪數 參加比賽的隊數為單數時,比賽輪數等於隊數。如5個隊參加比賽,即比賽輪數為5輪。參加比賽的隊數為雙數時,比賽輪數等於隊數減一。如6個隊參加比...