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...