任務3:\sqrt m
m的值我們只需要再寫乙個獲取素數之和的方法:getprisum();
int
getprisum
(int num)
printf
("1到%d的素數之和=%d"
,n-1
,sum)
;}
將鍵盤輸入的數值以引數的形式輸入該函式,因為要獲得1~n之間所有素數之和,所以從3開始判斷乙個數是否是素數,只需呼叫之前寫好的gettemp函式和isprime函式,但是要獲取這乙個素數的值,所以要修改isprime方法的返回值。然後再將素數返回值求和。
以isprime1為例
int
isprime1
(int num,
int temp)
else
if(num%n==
0&&n<=temp)
flag=1;
printf
("%d is a prime number\n"
,num);}
else
if(flag==0)
else
}
只需在isprime()函式中加入乙個flag標誌變數。如果是素數則標誌變數變為1 否則為0;然後再函式末加入if語句,判斷flag的值從而實現返回值的不同。
最後再在main函式中呼叫
int
getprisum
(int num)
;int
gettemp
(int num)
;int
isprime1
(int num,
int temp)
;int
isprime2
(int num,
int temp)
;int
isprime3
(int num,
int temp)
;int
main()
// 任務1 2
// temp=gettemp(num);
// isprime1(num,temp);
// isprime2(num,temp);
// isprime3(num,temp);
// 任務3
getprisum
(num)
;}
以上為乙個剛學c語言不久的小白所做的作業,如有不足請各位大牛多多包容 素數探求(五) 任務6實現
任務6 從鍵盤任意輸入乙個整數m,若m不是素數,則對m進行質因數分解,並將m以質因數從小到大順序排列的乘積形式輸出,否則輸出 it is a prime number 例如,使用者輸入90時,程式輸出90 2335 使用者輸入17時,程式輸出90 2335 使用者輸入17時,程式輸出 it is a...
素數探求(四) 任務5實現
任務5 請編寫乙個判斷完全數的函式isperfect 然後判斷從鍵盤輸入的整數是否是完全數 int isperfect int num n if divsum num else else 第一步 按照任務4的思路,先判斷鍵盤輸入的數是否素數,顯然素數不是完全數。第二步 再用while語句獲得該數 除...
(二)任務堆疊
任務堆疊的建立 1 為了方便定義任務堆疊,在檔案os cpu.h中定義了乙個資料型別os stk typedef unsigned int os stk 該型別長度為16位 2 在定義任務堆疊的棧區時,只要定義乙個os stk型別的陣列即可。例如 define task stk size 512 定...