Red de conocimiento de abogados - Derecho de sociedades - Respuestas al tutorial de programación en lenguaje C ~ ¡Hay una recompensa adicional de 100 puntos!

Respuestas al tutorial de programación en lenguaje C ~ ¡Hay una recompensa adicional de 100 puntos!

1 Respuestas a ejercicios en lenguaje C "Tutorial de programación en lenguaje C (Segunda edición)"

Explicación

1 El "Tutorial de programación en lenguaje C" al que se hace referencia. En este artículo, el "Tutorial (segunda edición)" está editado por Li Fengxia y publicado por el Instituto de Prensa Tecnológica de Beijing.

2 Capítulo 1 Conocimientos básicos de programación

1. Preguntas de opción múltiple (página 23)

1-4.CBBC 5-8.DACA

2. Preguntas para completar en blanco (página 24)

1. Condiciones de juicio 2. Programación orientada a procesos 3. Estructurado 4. Programa 5. Lenguaje de programación orientado a objetos 7. Propiedad Finita 8. Bucle tipo Until 9. Algoritmo 10. Legibilidad 11. Modularidad 12. Análisis de problemas y división de módulos

3 Preguntas de aplicación (página 24)

2. Programa fuente:

main()

{int i, j, k; /* i: número de gallos, j: número de gallinas, k: número de polluelos 1/3 */

printf("pollo gallina pollito\n");

for(i=1;ilt;=20;i)

for(j =1;jlt;=33;j)

for(k=1;klt;=33;k)

if (i j k*3==100amp;amp ; i* 5 j*3 k==100)

printf(" d d d\n", i, j, k*3 }

Resultado de la ejecución:

gallina pollito

4 18 78

8 11 81

12 4 84

3. Calcula ahora Fibonacci Los primeros 20 términos de la secuencia.

Programa fuente del método recursivo:

main()

{long a, b int i; ;

for(i=1;ilt;=10;i) /*Para calcular los primeros 30 elementos, cambie 10 por 15.

*/

{printf("8ld8ld", a, b);

a=a b; b=b a;}}

Programa fuente del método recursivo:

main()

{int i;

for(i=0; ilt; =19; i)

printf( "8d", fib(i));}

fib(int i)

{return(ilt;=1?1: fib(i-1) fib(i- 2));}

Resultados de la ejecución:

1 1 2 3 5 8 13 21 34 55

89 144 233 377 610 987 1597 2584 4181 6765

4. Programa fuente:

#include "math.h"

main()

{double x, x0, deltax ;

x=1.5;

hacer {x0=pow(x 1, 1./3);

x=x0;

}mientras(deltaxgt;1e-12);

printf(".10f\n",x);}

p>

p>

Resultado de la ejecución:

1.3247179572

5. Se omite el programa fuente. (Tanto el numerador como el denominador constituyen la secuencia de Fibonacci)

El resultado es 32.66026079864

6. Programa fuente:

main()

{int a, b, c, m;

printf("Ingrese a, byc: ");

scanf("d d d", amp; a, amp ;b,amp;c);

if(alt;b){m=a;a=b;b=m;}

if(alt;c){m =a;a=c;c=m;}

if(blt;c){m=b;b=c;c=m;}

printf("d d d \n", a, b, c);}

Resultado de la ejecución:

Ingrese a, byc: 123 456 789

789 456 123

7. Programa fuente:

main()

{int a

scanf("d", amp; a) ;

printf(a21==0?"Sí":"No");}

Resultado de la ejecución:

42

3 Capítulo 2 Descripción general del lenguaje C

1. Preguntas de opción múltiple (página 34)

1-4.BDCB 5-8.AABC

1-4.BDCB 5-8.AABC

p>

2. Complete los espacios en blanco (página 35)

1. Principal 2. Sistema de compilación C 3. Función función 4. Entrada y salida 5. Encabezado 6. .OBJ 7. Función de biblioteca 8 .Text

3. Preguntas de aplicación (página 36)

5.sizeof es la palabra clave, stru, _aoto, file, m_i_n, hola, ABC, SIN90, x1234, hasta, cos2x, s_3 son identificadores.

8. Programa fuente:

main()

{int a, b, c

scanf("d d", amplificador; a, amplificador b);

c=a; a=b=c

printf("d d", a, b);} >

Resultado de la ejecución:

12 34

34 12

4 Capítulo 3 Tipos de datos y reglas de operación

1. Múltiples preguntas de elección (página 75)

1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD 21-25.ADDBC 26-27.AB

2. Preguntas para completar los espacios en blanco (página 77)

1. Complemento 2. ± (10^-308~10^308) 3. int (entero) 4. Ojo único de derecha a izquierda 5. Llamada a función 6.a o b 7.1 8.65, 89

3 Preguntas de aplicación (página 78)

1.10 9

2.

p>

11

0

0

12

1

5 Capítulo 4 Programación estructural de secuencias

1. Preguntas de opción múltiple (página 90)

1-5.DCDAD 6-10.BACBB

2. Preguntas para completar en blanco (página 90) 91 páginas)

1; 2. 5.169000 3. (1)-2002500 (2)I=-200, j=2500 (3) i=-200

j =2500 4.a=98, b=765.000000, c=4321.000000 5. ligeramente 6.0, 0, 3 7.3 8.scanf("lflflf", amp; a, amp; b, amp; c); 9. 13 13.000000, 13.000000 10.a=a^c; c=c^a; a=a^c; variables.)

3. Preguntas de programación (página 92)

1. Siga el ejemplo 2-1 en la página 27 del libro de texto.

2. Programa fuente:

main()

{int h, m

scanf("d: d", amp; h, amp; m);

printf("d\n", h*60 m);}

Resultado de la ejecución:

9: 23

563

3. Programa fuente:

main()

{int a=0

a=6

a=1

a=1

6 Programa fuente:

#include "stdlib.h" <. /p>

#include "time.h"

#define M 5

#define N 7

main()

{int a[M][N], i, j, t=0;

aleatorio();

for(i=0; ilt; M; i)

{a[i][N-1]=0

for(j=0;jlt;N-1;j)

{printf ("4d", a[i][j]=aleatorio(91) 10

a[i][N-1] =a[i][j];}

printf("4d\n", a[i][N-1]);}

for(i=1;ilt;M;i)

si (a[i][N-1]gt; a[t][N-1])t=i

if(t)for(j=0;jlt;N;j)

{i=a[0][j]; a[0][j]=a[t][j]; a[t][j]=i;}

printf("-----------------\n");

for(i=0;ilt;M;printf("\n") , i)

10 Capítulo 7 Arreglos

for(j=0;jlt;N;j)

printf("4d",a[i ] [j]);

}

Resultado de la ejecución:

89 17 32 95 35 20 288

39 48 22 27 73 22 231

51 87 39 71 84 46 378

84 94 97 77 27 26 405

69 50 56 89 37 46 347

----------------

84 94 97 77 27 26 405

39 48 22 27 73 22 231

51 87 39 71 84 46 378

89 17 32 95 35 20 288

69 50 56 89 37 46 347

7. p>

#include "stdlib.h"

#include "time.h"

#define M 5

#define N 6

main()

{int a[M][N], i, j

estructura de datos{int valor, x, y;}max;

, min;

valor máximo=0; valor mínimo=100;

aleatorio(); printf("\n"),i )

for(j=0;jlt;N;j)

{printf("4d",a[i][j] =aleatorio(100) 1);

if(max.valuelt;a[i][j])

{max.value=a[i][j];max .x=i;max.y=j;}

if(min.valuegt;a[i][j])

{min.value=a[i][ j]; min.x=i; min.y=j;}

}

printf("---------------- -\n");

i=a[0][N-1]; a[0][N-1]=valor.max; a[max.x][max.y] =i;

i=a[M-1][0]; a[M-1][0]=valor mínimo; a[min.x][min.y]=i;

for(i=0;ilt;M;printf("\n"),i )

for(j=0;jlt;N;j )

printf("4d", a[i][j]);

}

Resultado de la ejecución:

51 53 74 65 30 40

30 26 50 6 61 27

47 16 54 58 76 19

57 74 44 92 71 48

73 57 60 32 73 67

-----------------

51 53 74 65 30 92

30 26 50 73 61 27

47 16 54 58 76 19

57 74 44 40 71 48

6 57 60 32 73 67

9. Programa:

main()

{char s[255]; int i, j, b=1

printf("Ingrese una cadena:"

scanf("s", s);

i=strlen(s);

for(j=1;jlt;=i/) 2;j)

b=bamp;amp;(s[j-1]==s[i-j]);

printf(b?"Sí\n":" No\n");}

Resultado de la ejecución:

Ingrese una cadena: nivel

10. Programa fuente:

main()

{char s[255], t, max=0, min=0, l, i

printf("Ingrese una cadena; (longitudgt; 4): ");

obtiene(s);

l=strlen(s);

for(i=0; ilt; l;i)

{if(s[max]lt;s[i])max=i;if(s[min]gt;s[

i])mín=i;}

t=s[1]; s[1]=s[máx]; s[máx]=t;

t=s[l-2]; s[l-2]=s[min]; s[min]=t

printf("s\n", s);}

Resultado de la ejecución:

Ingrese una cadena (longitudgt; 4): C Builder

Cu Beild r

11 . Programa fuente:

main()

{char m[13][10]={"****","Enero","Febrero","Marzo" ,

"Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre",

"Octubre", "Noviembre", "Diciembre" };

int i, j, k, a, s, n;

printf("Ingrese un número entero (100..999):");

scanf("d",&n);

printf("d:d d d=d, d13=d, s\n", n, i, j, k, s, s, a , m[a=((s=(i=n/100) (j=n/1010) (k=n10))13)]);}

Resultado de la ejecución:

Ingrese un número entero (100..999): 539

539: 5 3 9=17, 1713=4, abril

11 Función del Capítulo 8

1. Preguntas de opción múltiple (página 241)

1-5.BCCAA 6-10.CCDDD 11-15.ACACB

2. preguntas (página 241) Página 243)

1. No se puede ver la intención de la pregunta original. Debido a que necesitamos calcular la suma acumulada de 1 a n, n debe ser un número entero positivo ≥ 1. Pero hay una situación en la que aparece n=0 en la pregunta. A menos que se especifique lo contrario cuando n = 0, la suma acumulada de 1 an es 0, o la fórmula de cálculo en la pregunta original se cambia para calcular la suma acumulativa de 0 an.

Según esta suposición, la pregunta original debe completarse como: ①return(0) ②return(n sum(n-1))

Según el significado de la pregunta, el siguiente procedimiento es más razonable:

int sum( int n)

{if(nlt;=0)return(-1); /* -1 es un indicador de error*/

else if(n==1)return( 1);

else return(n suma(n-1));}

2. *facto(n-1))

3. Preguntas de programación (página 244)

3. Programa fuente:

main()

{int i, a, b, c;

for(i=100;ilt;999;i)

if((a=i/100)*a* a (b=i/1010)*b *b (c=i10)*c*c==i)

printf("d\t",i);}

Resultado de la ejecución:

153 370 371 407

8. Programa fuente (algoritmo no recursivo):

#define P 13 /* P se puede cambiar a otros enteros positivos*/

main()

{int a[P], r, c

for(r=0; rlt; =; P; r )

{ a[r]=1;

for(c=r-1;cgt;=1; a[c--] =a[c- 1]);

printf ("*d", (P-r)*3 1, a[0]); ("6d",a[c]));

printf("\n");}

}

Resultado de la ejecución:

(Debe estar dispuesto en un triángulo, es un Tieba. La razón por la que es así no es un problema del programa)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

1 9 36 84 126 126 84 36 9 1

1 10 45 120 210 252 210 120 45 10 1

1 11 55 165 330 462 462 330 165 55 11

1 12 66 220 495 792 924 792 495 220 66 12 1

1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1

9.

#include "stdio.h"

void printOCT(unsigned long n)

{unsigned long i

if(i; =ngt;gt;3)printOCT(i);

putchar ((namp; 7) 48);}

principal

()

{unsigned long i;

scanf("ld",amp;i

printOCT(i);}

Resultado de la ejecución:

1234567890

11145401322

Esta pregunta no requiere un algoritmo recursivo. Consulte el Capítulo 7, Pregunta 3, Pregunta 4. programa fuente.

12 Respuesta: Respuestas a los ejercicios en lenguaje C "Tutorial de programación en lenguaje C (segunda edición)"

Sin embargo, las preguntas extraescolares de las versiones impresas en diferentes momentos no son lo mismo, como el nuestro. Fue la segunda edición en diciembre de 1999 y la edición número 69 en diciembre de 2005. No elegí completar los espacios en blanco. No sé cuántas preguntas de la solicitud son iguales a la pregunta original porque no puedo ver la pregunta original. Esto es más problemático.

Autor: 210.77.204.* 2006-5-9 18:38 Responder a esta afirmación

----------------- ------------------------------------------------- - ------------

13 Respuesta: Respuestas a ejercicios en lenguaje C "Tutorial de programación en lenguaje C (segunda edición)"

Compare el editor -Jefe y editor, eche un vistazo, ¿verdad? (Consulta el primer punto de la explicación).

¿No te dije que publicaras otra publicación si tienes alguna pregunta?

14 Consejos del Capítulo 9

1. Preguntas de opción múltiple (página 276)

1-5.DCDAC 6-10.CCABC 11-16. -20.DCDBD

2. Preguntas para completar los espacios en blanco (página 278)

1.①int * ②*z

2.*p

3.①'\0' ②

4.①q=p 1 ②qlt;p 10 ③*qgt;max ④*qlt;min

3 Preguntas de programación (Página 280)

7. Programa fuente:

main()

{int i=0]; p>

do{scanf("s",amp;c);i;}

while(strcmp(c,"stop"));

printf(" d\ n", i);}

Resultado de la ejecución:

Este automóvil corrió desde Nanyang

hacia Luoyang sin detenerse

10

9. Programa fuente:

main()

{char s[255], c[255]={0}; /p >

obtiene(s);

for(i=0; s[i]; c[s[i]]

for(i=0); ; ilt ;255;i)

if(c[i])printf("c=d\t",i,c[i]);}

Resultado de la ejecución:

p>

abcedabcdcd

a=2 b=2 c=3 d=3 e=1