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

2021-03-04 08:09:07 字數 1594 閱讀 5134

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開始,當k取10(即第三個式子時)恰好是5的倍數,從而提前換行。

【問題2】不用定義函式,直接在main方法中編寫驗證哥德**猜想的程式。

【實驗題2】程式填空:輸入乙個整數,從高位開始逐位分割各位數字,如輸入7358,則輸出 7 3 5 8(2023年春筆試真題)

【分析】

我們已經學習了如何用整除運算和求餘運算求出乙個整數number的位數、以及從低位到高位的各位數字。本題則是從高位向低位逐步分解各個數字,關鍵是先求出這個整數是幾位數?

如果已知number是k位數,那麼該整數整除10k-1,就可得到最高位的數字;然後對剩餘部分除以10k-2,得到下乙個數字上的數字;再對剩餘部分除以10k-3,…例項如下:

被除數number k 最高位權重power=10k-1 高位數字number/power 餘數 7358410007358

3583 100358

582 1058

81 180

0結束!

源程式如下:

#include

void main( )

while(t!=0);

//求最高位的權重:power=10k-1

power=1;

for(i=1; i power=power*10;

//從最高開始,逐位分解並輸出各位數字

while( number!=0 )

printf("\n");

}編譯、連線並執行程式,

輸入-79,輸出: 7 9; 如果輸入4,則輸出 4; 如果輸入27354,則輸出 2 7 3 5 4。

以下習題為課後題

【實驗題3】輸入兩個正整數m和n,求其最大公約數和最小公倍數。

【實驗題4】求s=a+aa+aaa+…+aa…a,n個a之和,其中a是乙個數字。例如:2+22+222+2222+22222(此時n=5),n和a均由鍵盤輸入。(對課後題稍作改動)

【實驗題5】列印出所有的「水仙花數」,所謂「水仙花數」是指乙個3位數,其各位數字立方和等於該數本身。

【實驗題6】乙個數如果恰好等於它的因子之和,這個數就稱為「完數」。例如,6的因子為1、2、3,而6=1+2+3,因此6是「完數」。程式設計序找出1000之內的所有完數,並按下面格式輸出其因子:

6 its factors are 1,2,3

【實驗題7】猴子吃桃問題。猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了乙個。第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。

以後每天早上都吃了前一天剩下的一半零乙個。到第10天早上想再吃時,就只剩乙個桃子了。求第一天共摘多少桃子。

【實驗題8】列印輸出以下圖案。

實驗上機六迴圈結構

通過實驗,讓學生更好的理解迴圈結構的概念.並掌握幾種常用迴圈結構的用法,能在程式設計過程中靈活應用,並解決問題.迴圈結構在程式設計中占有比較重要的地位,學生應該多練習,多體會.能在程式設計過程中靈活應用,並解決問題。要求 在程式頭兩行新增程式功能和編者資訊。題6 1 求2 4 2n,n是自然數。書9...

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

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

實驗八迴圈結構程式設計 二

1 熟練掌握迴圈程式設計,包括巢狀迴圈。2 熟練掌握使用break continue語句在迴圈程式設計中的實現。3 繼續掌握vc 的程式除錯方法。8 1除錯示例,輸入正整數的個數n,再輸入n個正整數,判斷它們是否為素數。素數就是只能被1和自身整除的正整數,1不是素數,2是素數。源程式 有錯誤的程式 ...