Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

187
Views
Creación de una instrucción de control de caso de cambio

aquí está el código

Escriba un código para encontrar la calificación de un estudiante en función de las calificaciones obtenidas por él y según el sistema que se indica a continuación,

 1. 90-100-->A 2. 80-90-->B 3. 70-80-->C 4. 60-70-->D 5. <60-->E
 #include <stdio.h> int main(){ int marks; printf("Enter your marks(1-100)\n"); scanf("%d\n", &marks); switch (marks) { case 1: printf("Your Grade is A\n"); break; case 2: printf("Your Grade is B\n"); break; case 3: printf("Your Grade is C\n"); break; case 4: printf("Your Grade is D\n"); break; case 5: printf("Your Grade is E\n"); break; } return 0; }
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

¡Ignoremos el manejo de errores y la captura de rango para esta respuesta!

Dado el mapeo, podrías simplemente hacer una división entera

 int grade = marks / 10;

Luego, active el grade y el case en consecuencia ( switch , predeterminado)

int main(){ int marcas;

 printf("Enter your marks(1-100)\n"); scanf("%d\n", &marks); int grade = marks / 10; switch ( grade ) { case 10: case 9: { printf( "Your Grade is A\n" ); break; } case 8: { printf( "Your Grade is B\n" ); break; } case 7: { printf( "Your Grade is C\n" ); break; } case 6: { printf( "Your Grade is D\n" ); break; } default: { printf( "Your Grade is E\n" ); break; } }

Nota: hay compiladores que admiten una extensión de idioma que permite rangos (p. ej.) case 90 ... 100: pero estos no son estándar, por lo que no deben recomendarse.

Para los rangos, en C, normalmente necesitará hacer una escalera if-elseif-else .

 if ( marks > 100 ) { printf( "You cheated\n" ); } else if ( marks > 90 ) { printf( "Your Grade is A\n" ); } else if ( marks > 80 ) { printf( "Your Grade is B\n" ); } else if ( marks > 70 ) { printf( "Your Grade is C\n" ); } else if ( marks > 60 ) { printf( "Your Grade is D\n" ); } else /* marks < 60 */ { printf( "Your Grade is E\n" ); }
over 4 years ago · Santiago Trujillo Report

0

Necesita transformar las marks en un número en el rango [1, 5] . Esto se puede hacer, por ejemplo, usando una matriz.

Aquí hay un programa de demostración.

 #include <stdio.h> int main(void) { unsigned int marks = 0; printf( "Enter your marks(1-100): " ); scanf( "%u", &marks ); unsigned int grades[] = { 0, 60, 70, 80, 90 }; const size_t N = sizeof( grades ) / sizeof( *grades ); size_t i = 0; while ( i != N && marks < grades[N - ++i] ); switch ( i ) { case 1: puts( "Your Grade is A" ); break; case 2: puts( "Your Grade is B" ); break; case 3: puts( "Your Grade is C" ); break; case 4: puts( "Your Grade is D" ); break; case 5: puts( "Your Grade is E" ); break; } return 0; }
over 4 years ago · Santiago Trujillo Report

0

#include <stdio.h> int main(){ int marks; printf("Enter your marks between 0 to 100\n"); scanf("%d", &marks); switch(marks/10){ case 10 : case 9 : /* Marks between 90-100 */ printf("Your Grade : A\n" ); break; case 8 : case 7 : /* Marks between 70-89 */ printf("Your Grade : B\n" ); break; case 6 : /* Marks between 60-69 */ printf("Your Grade : C\n" ); break; case 5 : case 4 : /* Marks between 40-59 */ printf("Your Grade : D\n" ); break; default : /* Marks less than 40 */ printf("You failed\n" ); } return 0; }

Para encontrar, use switch(marks/10) en la declaración de cambio si su puntuación es 80 y luego 80/10, por lo que saltará al caso 8.

over 4 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 Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!