• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

131
Views
Encontrar el número más grande en el programa c

El resumen es ingresar 10 salarios, calcular la comisión y llevar a casa en general, e imprimir el valor neto más alto. Puedo obtener el número más alto, pero por el número ingresado, y no por el resultado final (que calculo yo). Me pregunto cómo hago esto, ya que no estoy almacenando los valores netos que estoy calculando. ¿Es este mi problema? Consulte el código a continuación.

 #include <stdio.h> int main() { int num[10]; int i = 0; int largest; int com, totaltakehome, finalsalary; while(i < 10) { printf("Enter salesperson salary for week[%d]:", i + 1); scanf("%d", &num[i]); com = num[i] / 100 * 7; printf("Commision is %d\n", com); totaltakehome = 300 + com; printf("Total takehome is %d\n", totaltakehome); printf("\n"); } largest = num[0]; i = 0; while(i < 10) { if(num[i] > largest) { largest = num[i]; } i++; } printf("\nHighest salary is : %d\n", largest); return 0; }
about 3 years ago · Santiago Trujillo
2 answers
Answer question

0

Dado que ninguno de los salarios ingresados anteriormente son necesarios para calcular ...

  • la comisión más grande
  • el total para llevar a casa

... puede omitir la matriz num[10] .

  • Necesitas aumentar i en el ciclo. i+1 es una expresión que no cambia el valor de i . Sugiero usar un ciclo for para esto que mantiene la declaración de i , la condición ( i < 10 ) y el incremento en un solo lugar.
  • Debe verificar el valor de retorno de scanf . Si busca una cosa, debería devolver 1 , de lo contrario, falla.
  • Ahorre la comisión más grande en el ciclo.
  • Inicializar variables.
  • Añadir a totaltakehome . Actualmente le asigna un nuevo valor en cada ciclo.

Ejemplo:

 #include <stdio.h> int main() { int largest = 0; // initialized (and assuming this can't be negative) int totaltakehome = 0; // initialized for(int i = 0; i < 10; ++i) { // loop with increment printf("Enter salesperson salary for week[%d]:", i + 1); int num; if(scanf("%d", &num) != 1) { // check for success fprintf(stderr, "user error, aborting\n"); return 1; } // an alternative commission forumla int com = num * 7 / 100; // perhaps a more fair commission printf("Commision is %d\n", com); // save this commission if it's the largest so far: if(com > largest) largest = com; // Add to `totaltakehome` - don't assign: totaltakehome += 300 + com; // note: `+=`, not `=` printf("\n"); } // print results after the loop: printf("Largest commision %d\n", largest); printf("Total takehome is %d\n", totaltakehome); }
about 3 years ago · Santiago Trujillo Report

0

Podemos usar un bucle for básico para la respuesta.

 int old = arr[0]; for (i = 0; i < 10; i++) { if (arr[i] > old) old = arr[i]; } return old;

Primero creamos un bucle que se ejecuta diez veces o también podemos usar

 sizeof(arr)/sizeof(arr[0])

Para un tamaño de lista desconocido. Perdóname porque estoy en el móvil.

Luego, verificamos si el siguiente número es más grande que nuestro antiguo número más grande conocido, si es así, lo configuramos para que sea el más grande. Si es así, lo configuraremos para que sea el más grande. Entonces finalmente devolvemos nuestro valor. (Esta es una función por cierto)

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error