c語言的小問題 求助

Q1

#include <cstdio>

int main() {

int n = 100;

for (int i = 2; i < n; i = i+1) {

bool not_prime = false;

for (int j = 2; j < i && !not_prime; j = j+1)

if (i%j == 0)

not_prime = true;

if (!not_prime) {

printf("%d is a prime\n", i);

}

}

return 0;

}

這條程是什麼意思...??為甚麼可以噴出質數??

bool not_prime = false;是蝦米.....

Q2

‪#‎include‬ <cstdio>

//52

int main () {

int n,i,t[1000],big[1]={0},i2=1;

scanf("%d",&n);

for(i2=i2;i2!=0;big[0]=0,i2=0)

{

for(i=0;i<n;i++)

{

scanf("%d",&t[i]);

}

for(i=0;i<n;i++)

{

if(t[i]>big[0])

big[0]=t[i];

}

for(i=0;i<n;i++)

{

if(big[0]==t[i])

t[i]=0;

}

for(i=0;i<n;i++)

{

printf("%d",t[i]);

if(i!=n-1)

printf(" ");

else

printf("\n");

}

for(i=0;i<n;i++)

if(t[i]!=0)

i2+=1;

}

}

這條......我打這樣第1層FOR迴圈不是可以執行很多次嗎.....為什麼只能1次.....

大大幫幫忙阿.......

3 個解答

評分
  • wei
    Lv 6
    7 年前
    最佳解答

    for(i2=i2;i2!=0;big[0]=0,i2=0)

    如果i2為0,則不進入迴圈

    你剛進迴圈時i2值不變

    但第二次i2卻變0

    就結束了

    話說i2=i2可以空著不打

    無限迴圈可用for(;;)

    2014-03-03 23:31:30 補充:

    not_prime是一個布林值,代表是否"不是"質數

    第一個迴圈為2~99,i為被驗證的數

    第二個迴圈將j從2~(i-1)都跑一次,如果i可被j整除,則j為i的因數,不符合質數條件

    2014-03-03 23:43:51 補充:

    not_prime是一個布林值,代表是否"不是"質數 第一個迴圈為2~99,i為被驗證的數 第二個迴圈將j從2~(i-1)都跑一次,如果i可被j整除,則j為i的因數,不符合質數條件

    for(i2=i2;i2!=0;big[0]=0,i2=0)

    如果i2為0,則不進入迴圈

    你剛進迴圈時i2值不變

    但第二次i2卻變0

    就結束了

    話說i2=i2可以空著不打

    無限迴圈可用for(;;)

    參考資料: 你真的看的懂喔,好亂的感覺
  • 匿名使用者
    7 年前

    到下面的網址看看吧

    ▶▶http://misshare168.pixnet.net/blog/post/86950298

  • 7 年前

    答案002好奸! 讓我看到不應該看的東東.

還有問題?馬上發問,尋求解答。