Respuestas a los ejercicios de diseño en lenguaje C de Tan Haoqiang (2)

Tabla de contenido

Encuentra el máximo común divisor de dos números m y n

Encuentra las raíces de la ecuación ax^2+bx+c=0. considerar por separado

(1) Hay dos raíces reales desiguales

(2) Hay dos raíces reales iguales

Muestra los años que son bisiestos entre 1900 y 2000. Los años que cumplen una de las dos condiciones siguientes son años bisiestos:

(1) Divisible por 4 pero no divisible por 100;

(2) Es divisible por 100 y divisible por 400.


 

Encuentra el máximo común divisor de dos números m y n


Puedes usar la división euclidiana (también conocida como algoritmo de Euclidiana) para encontrar el máximo común divisor de dos números myn sin usar recursividad. El siguiente es un ejemplo de un programa en lenguaje C que no utiliza recursividad:


#incluir <stdio.h>

// Función utilizada para calcular el máximo común divisor
int gcd(int m, int n) {     while (n != 0) {         int temp = n;         n = m % n;         m = temp;     }     return m; }






int principal() {     int m, n;

    // Ingrese dos números enteros
    printf("Ingrese dos números enteros m y n:");
    scanf("%d %d", &m, &n);

    // Llama a la función mcd para calcular el máximo común divisor
    int result = gcd(m, n);

    //Resultado de salida
    printf("El máximo común divisor es: %d\n", resultado);

    devolver 0;
}

 

Este programa utiliza un bucle para calcular el máximo común divisor hasta que uno de los números se convierte en cero. En cada paso, intercambia los valores de myn y actualiza n con el resto de dividir m por n hasta que n se vuelve cero. Finalmente, el valor de m es el máximo común divisor y el programa lo imprime en la pantalla.

Encuentra las raíces de la ecuación ax^2+bx+c=0. considerar por separado

(1) Hay dos raíces reales desiguales

(2) Hay dos raíces reales iguales

La resolución de las raíces de la ecuación cuadrática ax^2+bx+c=0 se puede discutir según el valor del discriminante Δ (delta):

1. Si Δ > 0, entonces hay dos raíces reales desiguales.
2. Si Δ = 0, entonces hay dos raíces reales iguales.
3. Si Δ < 0, entonces no hay raíces reales, sino dos raíces complejas conjugadas.

El siguiente es un programa en lenguaje C que calcula y genera las raíces en función del valor de Δ:


#incluir <stdio.h>
#incluir <math.h>

int principal() {     doble a, b, c;     doble delta, x1, x2;

    // Ingresa los coeficientes de la ecuación cuadrática
    printf("Por favor ingresa los coeficientes de la ecuación cuadrática (a, b, c):\n");
    printf("a = ");
    scanf("%lf", &a) ;
    printf ("b = ");
    scanf("%lf", &b);
    printf("c = ");
    scanf("%lf", &c);

    // Calcula el discriminante Δ
    delta = b * b - 4 * a * c;

    if (delta > 0) {         // Hay dos raíces reales desiguales         x1 = (-b + sqrt(delta)) / (2 * a);         x2 = (-b - sqrt(delta)) / (2 * a) ;         printf("Hay dos raíces reales desiguales:\n");         printf("x1 = %.2lf\n", x1);         printf("x2 = %.2lf\n", x2);     } else if ( delta == 0) {         // Hay dos raíces reales iguales         x1 = -b / (2 * a);         printf("Hay dos raíces reales iguales:\n");         printf("x1 = x2 = %.2lf \n", x1);     } else {         // No existe una raíz real, hay una raíz compleja conjugada         double realPart = -b / (2 * a);         double imaginaryPart = sqrt(-delta) / (2 * a) ;         printf("No hay raíces reales, hay raíces complejas conjugadas:\n");         printf("x1 = %.2lf + %.2lfi\n", parte real, parte imaginaria);

















        printf("x2 = %.2lf - %.2lfi\n", parte real, parte imaginaria);
    }

    devolver 0;
}

 

Este programa primero calcula el valor del discriminante Δ, luego analiza la situación de acuerdo con el tamaño de Δ, calcula y genera la raíz correspondiente.

Muestra los años que son bisiestos entre 1900 y 2000. Los años que cumplen una de las dos condiciones siguientes son años bisiestos:

(1) Divisible por 4 pero no divisible por 100;

(2) Es divisible por 100 y divisible por 400.

El siguiente es un programa en lenguaje C para generar años bisiestos entre 1900 y 2000:
#include <stdio.h>

int main() {     printf("Los años bisiestos entre 1900 y 2000 son:\n");

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



    devolver 0;
}

 

Este programa utiliza un bucle para recorrer cada año desde 1900 hasta 2000 y luego determina si es un año bisiesto basándose en cualquiera de dos condiciones: 1) divisible por 4 pero no divisible por 100, o 2) divisible por 100 Divisible y divisible por 400. Si se cumple una de las condiciones, se muestra el año, lo que indica que se trata de un año bisiesto.

Supongo que te gusta

Origin blog.csdn.net/qq_50942093/article/details/132954056
Recomendado
Clasificación