I dette eksempel lærer du at kontrollere, om et heltal indtastet af brugeren er et primtal eller ej.
For at forstå dette eksempel skal du have kendskab til følgende C-programmeringsemner:
- C hvis… ellers Erklæring
- C for Loop
- C bryde og fortsætte
Et primtal er et positivt heltal, der kun kan deles af 1
sig selv. For eksempel: 2, 3, 5, 7, 11, 13, 17
Program til at kontrollere primtal
#include int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for non-prime if (n % i == 0) ( flag = 1; break; ) ) if (n == 1) ( printf("1 is neither prime nor composite."); ) else ( if (flag == 0) printf("%d is a prime number.", n); else printf("%d is not a prime number.", n); ) return 0; )
Produktion
Indtast et positivt heltal: 29 29 er et primtal.
I programmet gentages en for-sløjfe fra i = 2
til i < n/2
.
I hver iteration kontrolleres, om n er helt delelig med i, ved hjælp af:
if (n % i == 0) ( )
Hvis n er helt delelig med i, er n ikke et primtal. I dette tilfælde er flag sat til 1, og sløjfen afsluttes ved hjælp af break
udsagnet.
Efter sløjfen, hvis n er et primtal, vil flag stadig være 0. Hvis n imidlertid er et ikke-primtal, vil flag være 1.
Besøg denne side for at lære, hvordan du kan udskrive alle primtal mellem to intervaller.