Dev - C++ - Correcciones de 2 ejercicios

 
Vista:
sin imagen de perfil
Val: 66
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Correcciones de 2 ejercicios

Publicado por Carlos (12 intervenciones) el 02/11/2020 23:43:15
Buenas noches, tengo estos 2 algoritmos casi que terminados pero me falta algo que aún no sé como resolverlo, si alguien me lo corrige se lo agradecería.

- A este primer ejercicio tengo que ponerle que son 3 notas únicamente y las notas tienen un porcentaje de 30, 30 y 40 para poder calcular el valor de la nota final.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
 
float promedio(int valores[], int cantidad) {
    int i;
    float suma = 0.0;
 
    for (i = 0; i < cantidad; ++i)
        suma += valores[i];
 
    return suma / (float) cantidad;
}
 
int main() {
    int notas[10];
    char nombre[10];
    char opcion[3];
    int n, i;
    do {
        printf("Ingrese nombre del alumno: ");
        scanf("%s", nombre);
 
        printf("Cuantas notas tiene %s? ", nombre);
        scanf("%d", &n);
 
        for (i = 0; i < n; ++i) {
            printf("  Nota %d: ", i + 1);
            scanf("%d", &notas[i]);
 
        }
        printf("El promedio de %s es %.1f\n", nombre, promedio(notas, n));
        printf("Desea calcular mas promedios (si/no)? ");
        scanf("%s", opcion);
    } while (opcion[0] == 's' || opcion[0] == 'S');
    return 0;
}


- A este segundo ejercicio tengo que devolver como
resultado la suma, la resta y la multiplicación de los dígitos del número invertido.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
	#include <stdlib.h>
	#include <conio.h>
 
	int main()
	{
	long numero;
	int digito,op,cnt;
	op = 1;
	cnt;
	while (op == 1)
	{
     printf( "Ingrese numero: " );
	 scanf( "%d", &numero );
	 printf( "Su numero invertido es: " );
	  while( numero > 0 )
	 {
	   digito = numero % 10;
	   numero /= 10;
	   cnt = cnt +1;
	   printf( "%d", digito );
	  }
	  printf ("\nLa cantidad de numeros que hay: %d",cnt);
	  printf ("\n");
	  printf ("\n¿Desea invertir otro numero?");
	  printf ("\n1.Si\n2.No\n");
	  scanf ("%d", & op);
	}
	getch();
	return 0;
	}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Correcciones de 2 ejercicios

Publicado por Alfil (1444 intervenciones) el 03/11/2020 08:20:58
1.-

1
2
3
4
5
6
7
8
9
10
11
12
13
float promedio(int valores[], int cantidad)
{
    int i;
    float suma = 0.0;
 
    for (i = 0; i < cantidad; ++i)
        if (i == 0 || i == 1)
            suma += valores[i] * 0.30;
        else
            suma += valores[i] * 0.40;
 
    return suma;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Correcciones de 2 ejercicios

Publicado por Alfil (1444 intervenciones) el 03/11/2020 08:35:23
2.-

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#include <ctype.h>
 
int main()
{
    long numero;
	int digito;
	int count = 0, suma = 0, resta = 0, multiplicacion = 1;
	char op;
 
	do {
        printf( "\nIngrese numero: " );
        scanf( "%d", &numero );
 
        printf( "\nSu numero invertido es: " );
 
        while(numero > 0)
        {
            digito = numero % 10;
            numero /= 10;
 
            count++;
            suma += digito;
            resta -= digito;
            multiplicacion *= digito;
 
            printf("%d", digito);
	  }
 
	  printf ("\nDigitos: %d", count);
	  printf("\nSuma: %d", suma);
	  printf("\nResta: %d", resta);
	  printf("\nMultiplicacion: %d", multiplicacion);
 
	  fflush(stdin);
	  printf ("\n\nDesea invertir otro numero (S/n)? ");
	  scanf ("%c", &op);
 
	  op = toupper(op);
 
	} while (op == 'S');
 
	printf("\n");
 
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar