單迴圈程式設計上機
(附程式與結果)
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個隊參加比...