Réponses aux exercices de conception du langage C de Tan Haoqiang (2)

Table des matières

Trouver le plus grand diviseur commun de deux nombres m et n

Trouvez les racines de l’équation ax^2+bx+c=0. considérer séparément

(1) Il existe deux racines réelles inégales

(2) Il existe deux racines réelles égales

Afficher les années bissextiles comprises entre 1900 et 2000. Les années qui remplissent l'une des deux conditions suivantes sont des années bissextiles :

(1) Divisible par 4 mais non divisible par 100 ;

(2) Il est divisible par 100 et divisible par 400.


 

Trouver le plus grand diviseur commun de deux nombres m et n


Vous pouvez utiliser la division euclidienne (également connue sous le nom d'algorithme euclidien) pour trouver le plus grand diviseur commun de deux nombres m et n sans utiliser de récursion. Voici un exemple de programme en langage C qui n'utilise pas de récursion :


#include <stdio.h>

// Fonction utilisée pour calculer le plus grand diviseur commun
int pgcd(int m, int n) {     while (n != 0) {         int temp = n;         n = m % n;         m = temp;     }     return m; }






int main() {     int m, n;

    // Saisissez deux entiers
    printf("Veuillez saisir deux entiers m et n :");
    scanf("%d %d", &m, &n);

    // Appelez la fonction pgcd pour calculer le plus grand diviseur commun
    int result = gcd(m, n);

    //Résultat de sortie
    printf("Le plus grand diviseur commun est : %d\n", result);

    renvoie 0 ;
}

 

Ce programme utilise une boucle pour calculer le plus grand diviseur commun jusqu'à ce que l'un des nombres devienne zéro. À chaque étape, il échange les valeurs de m et n et met à jour n avec le reste de la division de m par n jusqu'à ce que n devienne zéro. Enfin, la valeur de m est le plus grand diviseur commun et le programme l'imprime à l'écran.

Trouvez les racines de l’équation ax^2+bx+c=0. considérer séparément

(1) Il existe deux racines réelles inégales

(2) Il existe deux racines réelles égales

La résolution des racines de l'équation quadratique ax^2+bx+c=0 peut être discutée en fonction de la valeur du discriminant Δ (delta) :

1. Si Δ > 0, alors il existe deux racines réelles inégales.
2. Si Δ = 0, alors il existe deux racines réelles égales.
3. Si Δ < 0, alors il n’y a pas de racines réelles, mais deux racines complexes conjuguées.

Ce qui suit est un programme en langage C qui calcule et génère les racines en fonction de la valeur de Δ :


#include <stdio.h>
#include <math.h>

int main() {     double a, b, c;     double delta, x1, x2 ;

    // Saisissez les coefficients de l'équation quadratique
    printf("Veuillez saisir les coefficients de l'équation quadratique (a, b, c):\n");
    printf("a = ");
    scanf("%lf", &a) ;
    printf ("b = ");
    scanf("%lf", &b);
    printf("c = ");
    scanf("%lf", &c);

    // Calculer le discriminant Δ
    delta = b * b - 4 * a * c ;

    if (delta > 0) {         // Il existe deux racines réelles inégales         x1 = (-b + sqrt(delta)) / (2 * a);         x2 = (-b - sqrt(delta)) / (2 * a) ;         printf("Il y a deux racines réelles inégales :\n");         printf("x1 = %.2lf\n", x1);         printf("x2 = %.2lf\n", x2);     } else if ( delta == 0) {         // Il y a deux racines réelles égales         x1 = -b / (2 * a);         printf("Il y a deux racines réelles égales :\n");         printf("x1 = x2 = %.2lf \n", x1);     } else {         // Il n'y a pas de racine réelle, il existe une racine complexe conjuguée         double realPart = -b / (2 * a);         double imaginaryPart = sqrt(-delta) / (2 * a) ;         printf("Il n'y a pas de racines réelles, il y a des racines complexes conjuguées :\n");         printf("x1 = %.2lf + %.2lfi\n", realPart, imaginaryPart);

















        printf("x2 = %.2lf - %.2lfi\n", realPart, imaginaryPart);
    }

    renvoie 0 ;
}

 

Ce programme calcule d'abord la valeur du discriminant Δ, puis discute de la situation en fonction de la taille de Δ, calcule et génère les racines correspondantes.

Afficher les années bissextiles comprises entre 1900 et 2000. Les années qui remplissent l'une des deux conditions suivantes sont des années bissextiles :

(1) Divisible par 4 mais non divisible par 100 ;

(2) Il est divisible par 100 et divisible par 400.

Ce qui suit est un programme en langage C permettant de générer des années bissextiles entre 1900 et 2000 :
#include <stdio.h>

int main() {     printf("Les années bissextiles entre 1900 et 2000 sont :\n");

    for (int année = 1900 ; année <= 2000 ; année++) {         if ((année % 4 == 0 && année % 100 != 0) || (année % 400 == 0)) {             printf("%d\ n", année);         }     }



    renvoie 0 ;
}

 

Ce programme utilise une boucle pour parcourir chaque année de 1900 à 2000, puis détermine s'il s'agit d'une année bissextile en fonction de l'une des deux conditions suivantes : 1) divisible par 4 mais non divisible par 100, ou 2) divisible par 100 Divisible et divisible par 400. Si l’une des conditions est remplie, l’année est sortie, indiquant qu’il s’agit d’une année bissextile.

Je suppose que tu aimes

Origine blog.csdn.net/qq_50942093/article/details/132954056
conseillé
Classement