Informe de experimento de programación de lenguaje C 4

Informe de experimento de programación C

Nombre: Zeng Fubo

Ubicación del experimento: hogar

Tiempo de experimento: 2020.4.9

Ítems experimentales: 5.3.1 Ejercicio 2. Encuentre la suma de los primeros n ítems en la secuencia; 5.3.2 Ejercicio 2. Número de narcisos; 5.3.4 Conversión decimal; 5.3.5 Ejercicio 1. Cien caballos Problema de Baidan; 5.3.5 Ejercicio 2 Encuentre la secuencia aritmética 5.3.5 Ejercicio 3. Problema de distribución de alimentos;

1. El propósito y los requisitos del experimento.

1. Dominio del método while, do, while y para que la declaración alcance el ciclo.

2. Comprender la diferencia y la conversión de los tres tipos de declaraciones de bucle, su respectiva adaptabilidad y el uso de anidación de bucle.

3. Domine cómo usar las instrucciones break, .continue en declaraciones loop para cambiar el flujo del programa.

4. Domine varios algoritmos en el ciclo de programación.

2. Ejercicios experimentales.

5.3.1 Ejercicio 2. Encuentre la suma de los primeros n términos en la secuencia

1. Una breve descripción del problema: escribiendo un programa para encontrar la secuencia 1, -3!, 5!, -7!, ..., (-1) n-1 (2n-1)! La suma de los primeros n elementos. El valor de n es ingresado por el teclado.

2. Código experimental:

#include <stdio.h> 
#include <conio.h> 
main () 
{ 
    int n, i, j, sign = 1 ;
    flotador fac, suma; 
    printf ( " ingrese el valor de n: " ); 
    scanf ( " % d " , & n); 
    suma = 0.0 ;
    para (i = 1 ; i <= 2 * n- 1 ; i = i + 2 ) 
    { 
        fac = 1.0 ;
        para (j = 1 ; j <= i; j ++ ) 
        fac= fac * j; 
        fac = fac * signo; 
        suma + = fac; 
        signo = - signo; 
    } 
    printf ( " suma =%. 0f \ n " , suma); 
}

3. Análisis del problema: al comienzo del libro de texto, solo se escribió la suma de los primeros n términos de la secuencia aritmética, sin consideración factorial. Más tarde, bajo la explicación del maestro, el programa de libros de texto fue modificado para completar este proyecto experimental.

5.3.2 Ejercicio 2. Número de narcisos

1. Un análisis simple del problema: encuentre todos los narcisos (el número de narcisos es un número natural de 3 dígitos, y la suma cúbica de los dígitos del número es igual al número mismo, como 153 es el número de narcisos 1 3 + 5 3 + 3 ^ 3 = 153).

2. Código experimental:

#include <stdio.h> 
main () 
{ 
    int x, y, z;
    int k = 100 ;
    mientras que (k <= 999 ) 
    { 
        x = k / 100 ; 
        y = (k / 10 )% 10 ; 
        z = k% 10 ;
    if (x * x * x + y * y * y + z * z * z == k) 
        printf ( " % d \ n " , k); 
        k ++ ; 
    } 
}

3. Análisis del problema: el programa no necesita recibir la entrada del teclado. El número de narciso es un número natural de 3 dígitos, que debe estar entre 100 y 999. Dado que el cubo de cada número debe ser igual al número en sí, cada dígito del número debe ser solicitado Números

5.3.4 Conversión decimal

1. Una breve descripción del problema: ingrese 4 números de caracteres y conviértalos a enteros decimales y muéstrelos.

2. Código experimental:

#include <stdio.h> 
main () 
{ 
    char c;
    int k, datos; 
    datos = 0 ;
    para (k = 0 ; k < 4 ; k ++ ) 
    { 
        while ( 1 ) 
        { 
            c = getchar ();
            if (c> = ' 0 ' && c <= ' 9 ' )
             descanso ; 
        } 
        si (k == 0 ) 
            datos + = (c- ' 0' ) * 1000 ;
        si (k == 1 )     
            datos + = (c- ' 0 ' ) * 100 ;
        si (k == 2 )     
            datos + = (c- ' 0 ' ) * 10 ;
        si (k == 3 ) 
            datos + = (c- ' 0 ' ); 
    } 
    printf ( " Datos =% d " , datos); 
}

3. Análisis del problema: ninguno

5.3.5 Ejercicio 1. El problema

1. Una breve descripción del problema: hay 100 caballos y 100 camellos de carga. Un caballo grande puede llevar tres camellos, un caballo mediano puede llevar dos camellos y dos ponis pueden llevar un camello. Descubre cuántas combinaciones de caballos y ponis son posibles para la maldición que necesitas.

2. Código experimental:

#include <stdio.h> 
main () 
{ 
    int m, n, k;
    int suma = 0 ; 
    printf ( " 各种 驮 法 如下 : \ n " );
    para (m = 1 ; m <= 100 ; m ++ ) 
    { 
        para (n = 1 ; n <= 100 -m; n ++ ) 
        { 
        k = 100 -m- n;
        if ((k% 2 == 0 ) && ( 3 * m + 2 * n + 0.5 * k == 100  ))
            { 
                printf ( " Malasia% caballos 3d; Caballo medio% caballos 3d; Pony% caballos 3d. \ n " , m, n, k); 
                suma ++ ; 
            } 
        } 
    } 
        printf ( " Hay% d métodos superpuestos. \ n " , suma); 
}

3. Análisis del problema: debe escribirse como k = 100-mn, pero no como 100 = k + m + n.

5.3.5 Ejercicio 2. Encuentra la secuencia aritmética

1. Una breve descripción del problema: hay una secuencia de diferencias aritméticas enteras positivas. Se sabe que la suma de los primeros 4 términos de la secuencia es igual a 26, y el producto de los primeros 4 términos es igual a 880. Encuentre el valor de los primeros 6 artículos de la serie de diferencias y la suma de los primeros 6 artículos.

2. Código experimental:

#include <stdio.h> 
main () 
{ 
int a, b, c, d, i, sum = 0 ;
para (a = 1 ; a <= 26 ; a ++ )
 para (d = 1 ; d <= 26 ; d ++ ) 
{ 
b = 4 * a + 6 * d; 
c = a * (a + d) * (a + 2 * d) * (a + 3 * d);
if ((b == 26 ) && (c == 880 )) 
{ 
printf ( " 数 列 的 初值 为 a =% d , 差值 为 d ​​=% d \ n " , a, d); 
printf ( "\ n El valor de los primeros 6 elementos en la secuencia: " );
 para (i = 0 ; i < 6 ; i ++ ) 
{ 
printf ( " % d " , a + i * d); 
sum = sum + (a + i * d); 
} 
printf ( " \ n " ); 
} 
} 
printf ( " \ n Suma de los primeros 6 elementos de la secuencia:% d \ n " , suma); 
}

3. Análisis del problema: b es suma yc es cuadratura. Es necesario comprender cómo se obtienen la suma y el producto, y anidar la declaración if en la declaración for para la selección de rama.

5.3.5 Ejercicio 3. Problemas de distribución de alimentos

1. Una breve descripción del problema: hay 30 estudiantes comprando bocadillos juntos por un total de 50 yuanes. Entre ellos, cada estudiante universitario gasta 3 yuanes, cada estudiante de secundaria gasta 2 yuanes, cada estudiante de primaria gasta 1 yuan. Averigüe cuántas combinaciones diferentes hay para la distribución del número de estudiantes en las escuelas grandes, intermedias y primarias (no calcule la combinación de 0 para una determinada clase de estudiantes).

2. Código experimental:

#include <stdio.h> 
main () 
{ 
    int x, y, z, sum; 
    suma = 0 ;
    para (x = 1 ; x <= 30 ; x ++ ) 
    { 
        para (y = 1 ; y < 30 ; y ++ ) 
        { 
            z = 30 -x- y;
            if ((z! = 0 ) && ( 3 * x + 2 * y + z == 50 )) 
            { 
                printf ( " 大学生% 3d \ t 中学生% 3d \ t 小学生% 3d \ n " , x, y, z) ; 
                suma= suma + 1 ; 
            } 
            más 
                continuar ; 
        } 
    } 
    printf ( " Hay% d combinaciones diferentes. \ n " , suma); 
}

3. Análisis del problema: El principal problema al escribir y modificar el programa es que la relación entre x e y no se ha resuelto antes, lo que resulta en un número infinito de resultados.

Tabla de multiplicar tres, nueve y nueve

2. Código experimental:

#include <stdio.h>
 int main () 
 { 
    int i, j; 
    para (i = 1 ; i <= 9 ; i ++ ) 
    { 
        para (j = 1 ; j <= 9 ; j ++ ) 
            printf ( " % d *% d =% 2d \ t " , i, j, i * j) ; 

        printf ( " \ n " ); 
    } 

    devuelve  0 ; 
}

3. Análisis del problema: al principio, no tenía idea del código de la tabla de multiplicación de Jiujiu. No sabía por dónde empezar. Tuve que buscar el código relevante en Internet. Elegí esta finalización relativamente simple. El conocimiento sobre el lenguaje C todavía no es muy familiar. Es imposible seleccionar efectivamente el conocimiento aprendido para resolver el problema, y ​​la base es débil.

Cuarto, el resumen experimental

Después de este experimento, entendí dónde me faltaba, como el juicio de las condiciones, etc. Al mismo tiempo, hubo errores en el uso de algunos símbolos.

Supongo que te gusta

Origin www.cnblogs.com/aa842659/p/12697288.html
Recomendado
Clasificación