跪求幫忙 C程式錯在那裡

2025-01-06 04:50:20 字數 3968 閱讀 7155

1樓:匿名使用者

模組劃分 #include

#include

bool isprime(int nnum)int m,k,i;

m=nnum;

k=sqrt(m);

for (i=2;i<=k;i++)

if (m%i==0)

break;

if (i>=k+1)

return true;

return false;

void main()

int m;

scanf("%d",&m);

if(isprime(m))

printf("%d is a prime muber",m);

else printf("%d is not a prime number",m);

程式二 #include

#include

bool isprime(int nnum)int m,k,i;

m=nnum;

k=sqrt(m);

for (i=2;i<=k;i++)

if (m%i==0)

break;

if (i>=k+1)

return true;

return false;

main()

int m,n=0;

for(m=101;m<=200;m=m+2)if(isprime(m))

printf("%d ",m);

n=n+1;

if(n%10==0)

printf("");

printf ("n");

主要錯誤,缺少連線再加上。

#include 就ok了。

2樓:網友

你的給出錯誤提示哈。不然純粹分析代很累,沒多少人有精力做的。

以下是改寫的模組化程式。

程式1:int isprime(int n)int i n;

k=sqrt(n+1);

for (i=2;i<=k &&n%i!=0;i++)return i>k;

main()

int m;

scanf("%d",&m);

if(isprime(m))

printf("%d is a prime muber",m);

elseprintf("%d is not a prime number",m);

程式2:int isprime(int n)int i n;

k=sqrt(n+1);

for (i=2;i<=k &&n%i!=0;i++)return i>k;

main()

int m;

for(m=101;m<=200;m=m+2)if (isprime(m)) printf("%d ",m);

3樓:網友

錯誤改正後的**如下:

#include

#include

void main()

int m,i,k;

scanf("%d",&m);

k=sqrt(m+1);/加1是為了避免在求m時可能出現的誤差*/for (i=2;i<=k;i++)

if(m%i==0)

break;

if(i>=k+1)

printf("%d is a prime muber",m);

elseprintf("%d is not a prime number",m);

#include

#include

main()

int m,k,i,n=0;

for(m=101;m<=200;m=m+2)k=sqrt(m);

for (i=2;i<=k;i++)

if (m%i==0)

break;

if (i>=k+1)

printf("%d ",m);

n=n+1;

if(n%10==0)

printf("");

printf ("n");

模組劃分後其中isprime為兩個程式都可以使用的。

程式一。#include

#include

bool isprime(int nnum)int m,k,i;

m=nnum;

k=sqrt(m);

for (i=2;i<=k;i++)

if (m%i==0)

break;

if (i>=k+1)

return true;

return false;

void main()

int m;

scanf("%d",&m);

if(isprime(m))

printf("%d is a prime muber",m);

else printf("%d is not a prime number",m);

程式二。#include

#include

bool isprime(int nnum)int m,k,i;

m=nnum;

k=sqrt(m);

for (i=2;i<=k;i++)

if (m%i==0)

break;

if (i>=k+1)

return true;

return false;

main()

int m,n=0;

for(m=101;m<=200;m=m+2)if(isprime(m))

printf("%d ",m);

n=n+1;

if(n%10==0)

printf("");

printf ("n");

4樓:帳號已登出

判斷m是否素數。

我採用的演算法是這樣的:讓m被2到m 除,如果m能被2~m 之中任何乙個整數整除,則提前結束迴圈,此時i必然小於或等於k(即m);如果m不能被2~k(即m)之間的任一整數整除,則在完成最後一次迴圈後,i還要加1,因此i=k+1,然後才終止迴圈。在迴圈之後判別i的值是否大於或等於k+1,若是,則表明未曾被2~k之間任一整數整除過,因此輸出「是素數」。

程式如下:#include

模組一,函式判斷是否是素數*/

bool isprime( int n )int i = 0 ;

int k = 1 ;

k=(int)sqrt(n+1);

for (i=2;i<=k;i++)

if(n%i==0)

return false ;

不用判斷if(i>= k+1) *

return true ;

主呼叫模組*/

void main()

int m = 1 ;

scanf("%d",&m);

if(isprime(m))

printf("%d is a prime muber",m );

else printf("%d is not a prime number",m);

求100~200間的全部素數。

對本題用乙個巢狀的for迴圈,程式如下:

#include

模組一,函式判斷是否是素數*/

bool isprime( int n )int i = 0 ;

int k = 1 ;

k=(int)sqrt(n+1);

for (i=2;i<=k;i++)

if(n%i==0)

return false ;

return true ;

主呼叫模組*/

main()

int m,n=0;

for(m=101;m<=200;m=m+2)if (isprime(m))

printf("%d ",m);n=n+1;

if(n%10==0)

printf("");

printf ("n");

C語言源程式找錯

3全部你的程式複雜了,我給你個簡單事例 include int main void if a c if b c printf 由大到小順序為 d d d a,b,c return 0 其實還有一種方法,是氣泡排序法,不過氣泡排序法是用來排序很多數字的。如果樓主要繼續深入,可以看我的一篇文章,裡面有 ...

c語言程式設計數排序我的程式錯在哪,c語言程式設計 三個數排序 我的程式錯在哪

給你一個多數值比較的程式,冒泡法的。include int main int i,j,t,n,a 100 printf 輸入比較數個數 n scanf d n printf 輸入 d個數 n n for i 0 iscanf d a i printf 從小到大的順序為 n for j 0 j n 1...

跪求懂C 的人幫下忙,幫忙寫一下這個程式的註釋。還有這個程式有錯誤,我不會改,也幫忙改一下

程式簡單,幫你大概註釋了下,沒有標頭檔案 goods.h 和 staff.h 主要是兩個類,也不難寫,不除錯給你改錯了。這些常量懂吧?define staffamount 4 define goodsamount 3 define salesrecordamount 10 define gperce...