Je dois écrire une fonction en C pour mes devoirs. Étant donné les fonctions is_prime (n) et nth_prime (n), la première renvoyant 1 si n est premier (ou 0 s'il ne l'est pas) et nth_prime renvoyant le nième nombre premier, je dois écrire la fonction next_prime (count) qui compte le l'heure s'appelle, puis renvoie le nombre "count-th" nombre premier. count doit être une variable int statique non signée. Si n = 0 (n est indiqué avec un scanf), la valeur de comptage doit être réinitialisée à 0 et la fonction renvoie le premier nombre premier, 2.
Je ne peux pas utiliser de structures, de tableaux ou de récursion. Je suis novice en codage, et je ne sais pas quoi faire. J'utilise Visual Studio 2010 et je dois le compiler comme ISO C89 (ANSI C). Les fonctions doivent être écrites dans un fichier de bibliothèque, la seule chose qui va être évaluée, donc je ne peux pas utiliser count ++ dans la fonction main(). Voici ce que j'ai fait jusqu'ici.Fonction de comptage appels en ISO C89
unsigned int next_prime(unsigned int count) {
if(count == 0) {
if (n=!0) {
return nth_prime(count);
count++;
} else {
count = 0;
return 2;
}
} else {
if (n=!0) {
return nth_prime(count);
} else {
count = 0;
return 2;
}
}
}
Si pas 'n = 0' être' n = 0'? – MikeCAT
Commencez par créer une variable int statique non signée 'count'. – MikeCAT
Je l'ai créé mais je l'ai mis en dehors du corps de la fonction. Est-ce que c'est faux? Oui, c'est n! = 0, j'ai fait je me trompe. Je m'excuse. – Luke