Experimento de programación en lenguaje C (4)

Informe del experimento de programación C
Elementos del experimento: Experimento 5.3.1 Ejercicio 2, Experimento 5.3.2 Ejercicio 2, Experimento 5.3.4, Experimento 5.3.5 Ejercicio 1 y Ejercicio 2 y Ejercicio 3, Jiujiu
Nombre de la tabla de multiplicación : Long Jiacheng Ubicación del experimento: Tiempo de experimento en casa: 9 de abril de 2020

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

1. Domine el método while, do_while y para que las declaraciones realicen el bucle
2. Comprenda la diferencia y la conversión de los tres tipos de declaraciones de bucle, su respectiva adaptabilidad, el uso de anidación de bucle
3. Domine cómo usar la interrupción, continuar las declaraciones en las declaraciones de bucle, Cambie el flujo del programa
4. Domine el método de usar bucles en el diseño del programa para implementar varios algoritmos

2. Contenido experimental

1. Ejercicios experimentales: Experimento 5.3.1 Ejercicio 2

1 Una breve descripción del problema: ¡escriba 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>
main()
{
    int n,i,j,sign=1;
    float fac,sum;
    printf("Please input value of n:");
    scanf("%d",&n);
    sum=0.0;
    for(i=1;i<=n;i=i+1)
    {
	    fac=1.0;
	    for(j=1;j<=2*i-1;j=j+1)
	    {
		    fac=fac*j; 
	    }
	    fac=fac*sign;//计算第n项 
	    sum=sum+fac;//求前n项和 
	    sign=-sign;
    }
    printf("sum=%.0f\n",sum);
}

3. Diagrama de flujo:

3 Análisis de problemas: este código utiliza más anidamiento de bucles for, lo que debe entenderse es el papel de cada bucle y la relación entre bucles.

2. Ejercicios experimentales: Experimento 5.3.2 Ejercicio 2

1. Una breve descripción del problema: Encuentre todos los números de 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)
2. Código experimental:

#include<stdio.h>
main()
{
    int x,y,z;
    int k=100;
    while(k<=999)//while循环条件,水仙花数是一个三位数
    {
	    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. Diagrama de flujo:

4. Análisis del problema: esta pregunta se explicó antes de la clase, y no hubo muchos problemas en el proceso de ingresar el código.

3. Ejercicios experimentales: experimento 5.3.4

1. Breve descripción del problema: ingrese 4 números de caracteres y conviértalos a enteros decimales
2. Código experimental:

3. Diagrama de flujo:

4. Análisis del problema: debido al descuido al ingresar el código, se agregó ";" después de la instrucción for, lo que provocó que no se ejecutara.

4. Ejercicios experimentales: Experimento 5.3.5 Ejercicio 1

1. Una breve descripción del problema: hay 100 caballos y tienes que transportar 100 cargas. Entre ellos, 1 caballo puede transportar 3 cargas, 1 caballo mediano puede transportar 2 cargas y 2 ponis pueden transportar 1 carga. Averigüe cuántas combinaciones de caballos, caballos medianos y ponis se requieren
2. Experimente Código:

#include<stdio.h>
main()
{
    int m,n,k;//m,n,k分别代表大马、中马和小马的匹数
    int sum=0; 
    printf("各种驮法如下:\n");
    for (m=1;m<=100;m++)
        for(n=1;n<=100-m;n++)
        {
    	    k=100-m-n;
    	    if((k%2==0)&&(3*m+2*n+0.5*k==100))
    	    {
    		    printf("大马%3d匹;中马%3d匹;小马%3d匹.\n",m,n,k);
    	        sum++;
		    }
	    }
    printf("共有%d种驮法.\n",sum);
 } 

3. Diagrama de flujo:

4. Análisis del problema: al ingresar el código, ingrese "==" como "="

5. Ejercicios experimentales: Experimento 5.3.5 Ejercicio 2

1. Una breve descripción del problema: en una secuencia aritmética de enteros positivos, 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. Escriba un programa para encontrar el valor de los primeros 6 términos de la secuencia diferencial y La suma de los primeros 6 elementos de la secuencia.
2. Código experimental:

3. Diagrama de flujo:

4. Análisis del problema: la posición de byd era incorrecta al ingresar el código, lo que resultó en un error en el resultado del cálculo

6. Ejercicios experimentales: Experimento 5.3.5 Ejercicio 3

1. Una breve descripción del problema: 30 estudiantes fueron a comprar bocadillos juntos y gastaron un total de 50 yuanes, entre ellos, cada estudiante universitario gastó 3 yuanes, cada estudiante de secundaria gastó 2 yuanes, y cada estudiante de primaria gastó 1 yuan. ¿Cuántas combinaciones diferentes hay en el número de personas asignadas (no calcula que la combinación de un cierto número de estudiantes es 0)
2. Código experimental:

#include<stdio.h>
main()
{
    int x,y,z,sum;
    sum=0;
    for(x=1;x<30;x++)
    {
	    for(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);
			    sum=sum+1;
		    }
		    else
		       continue;
	    }
    }
    printf("sum=%d\n",sum);
}

3. Diagrama de flujo:

4. Análisis del problema: preste atención a cada problema de emparejamiento anidado en el proceso de ingresar el código, lo cual es fácil de causar confusión.

Experimento 3: Capacitación del proyecto: tabla de multiplicar nueve y nueve

1. Diagrama de flujo:

2. Código:

#include<stdio.h>
main()
{
    int i,j;
    for(i=1;i<=9;i++)
    {
	    for(j=1;j<=i;j++)
        {
    	    printf("%d*%d=%-3d\t",i,j,i*j);
	    }
	    printf("\n");
    }
}

Cuarto, el resumen experimental (análisis de ganancias y pérdidas personales)

Este experimento encontró que a veces agregará naturalmente ";" después de la instrucción for, lo que dará como resultado un error en el resultado de la ejecución; a veces hará que algunas letras se ingresen incorrectamente debido a descuido; también encontró algunas en el experimento que no entiendo El problema se resolvió discutiendo con compañeros de clase o verificando información en Internet.

Supongo que te gusta

Origin www.cnblogs.com/ljc-0819/p/12682878.html
Recomendado
Clasificación