c語言經典例題及解析

2021-08-28 07:07:51 字數 1542 閱讀 6328

素數,就是除了1和他本身,不能被其他數整除的數字。 今天我們將用三種不同的方法來實現「輸出100到200之間的素數」,請往下看:

1、第一種方法就是用100到200之間的每個數字,除以2到其本身前面的那乙個數字,如果此過程中出現整除的現象,則該數不是素數。如果沒有整除的現象,則該數為素數輸出。

#includeint main()

} if(i==j)

}printf("\ncount=%d\n",count);

return 0;

}

2、第二種方法使用了sqrt函式,也就是平方根,這裡的平方根是整數。眾所周知,非素數可以寫成除了1和它本身相乘的a*b方式,而a、b之間必有乙個小於等於ab之積的開平方根;如果這個非素數能夠被a整除,則相應的肯定會被b整除。這種方法用100到200之間的數字除以2到它的開平方根(如果該數的平方根是整數則可以除到),在此之間如果出現整除現象,則該數不是素數;如果沒有出現整除現象,則該數是素數。顯而易見,這種方法比第一種方法要簡便,執行的次數少。

#include#includeint main()

} if(j>sqrt(i))

}printf("\ncount=%d\n",count);

return 0;

}

3、第三種方法是對第二種方法的優化,原理如下:100到200之間的所有偶數都不是素數,所以可以剔除,直接對奇數進行判斷,這樣又可以讓程式的執行時間減少一半。

#include#includeint main()

} if(j>sqrt(i))

}printf("\ncount=%d\n",count);

return 0;

}

以上程式中所有有關count的語句是為了統計所求素數個數的,可以去掉。

解題思路如果某年是閏年,拿它一定滿足下面兩個條件中的乙個:

①該年份數能被4整除且不能被100整除;

②該年份數能被400整除。

int isleapyear(int i)

int main()

printf("\n");

/*system("pause")**暫停,程式執行結束後不會直接退出程式,要等到輸入任意字元後才退出。

在程式設計過程中經常遇到開始執行後結果框一閃即逝,這時候為了避免這種情況就可以插入這個語句,

當然getchar()也有類似作用,但有時候使用getchar()會發生錯誤,所以最好還是用system("pause")。*/**

system("pause");

return 0;

#includeint main()

printf("\n");

}system("pause");

return 0;

}

C語言經典例題

學習中碰到的許多例題 include int main return 0 水仙花數的大概演算法就是通過for迴圈提取出每一位數,再利用if語句判斷最後輸出。當然,也可以換一種迴圈,大致就是這樣的演算法。includeint main return 0 利用for迴圈的巢狀還可以,做出許多更強的東西。...

C語言經典例題及答案3

一 輸入a b c三個值,按從小到大排序輸出。include void main printf 3d 3d 3d n a,b,c 二 求自然數1 10之和。include void main int i,sum i 1 sum 0 while i 10 sum sum i i printf sum ...

C語言經典例題及答案4

一 輸入乙個0 6的整數,轉換成星期輸出。include main int a scanf d a switch a case 0 printf sunday break case 1 printf monday break case 2 printf tuesday break case 3 pr...