programa en c para imprimir el numero de dias de un mes

Dado un número N , la tarea es encontrar el número de días correspondientes a cada mes donde 1 es enero, 2 es febrero, 3 es marzo, y así sucesivamente.

Ejemplos:

Entrada: N = 12
Salida: 31 Días

Entrada: N = 2
Salida: 28/29 Días

Método – 1: usando If Else :

  1. Obtenga el mes de entrada como un número N .
  2. Si N es uno de estos valores 1, 3, 5, 7, 8, 10, 12, imprima «31 días». .
  3. Si N es uno de estos valores 4, 6, 9, 11, imprima “30 días”. .
  4. Si N es 2, escriba “28/29 días”. .
  5. De lo contrario, imprima «Mes no válido» .

A continuación se muestra la implementación del enfoque anterior:

// C program for the above approach
#include <stdio.h>
  
// Function to find the number of Days
// in month input by user
void printNumberOfDays(int N)
{
  
    // Check for 31 Days
    if (N == 1 || N == 3 || N == 5
        || N == 7 || N == 8 || N == 10
        || N == 12) {
        printf("31 Days.");
    }
  
    // Check for 30 Days
    else if (N == 4 || N == 6
             || N == 9 || N == 11) {
        printf("30 Days.");
    }
  
    // Check for 28/29 Days
    else if (N == 2) {
        printf("28/29 Days.");
    }
  
    // Else Invalid Input
    else {
        printf("Invalid Month.");
    }
}
  
// Driver Code
int main()
{
    // Input Month
    int N = 4;
  
    // Function Call
    printNumberOfDays(N);
  
    return 0;
}
Producción:

30 Days.

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Método – 2: usando declaraciones de cambio :

  1. Obtenga el mes de entrada como un número N .
  2. Usando la declaración de cambio cuando el valor de N es uno de 1, 3, 5, 7, 8, 10, 12, luego imprima «31 días». correspondiente a la caja del interruptor.
  3. Si N es uno de estos valores 4, 6, 9, 11, imprima “30 días”. correspondiente a la caja del interruptor.
  4. Si N es 2, escriba “28/29 días”. correspondiente a la caja del interruptor.
  5. De lo contrario, la condición predeterminada para la caja del interruptor imprimirá «Mes no válido» .

A continuación se muestra la implementación del enfoque anterior:

// C program for the above approach
#include <stdio.h>
  
// Function to find the number of Days
// in month input by user usingwwww
// switch statement
void printNumberOfDays(int N)
{
  
    switch (N) {
    // Cases for 31 Days
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        printf("31 Days.");
        break;
  
    // Cases for 30 Days
    case 4:
    case 6:
    case 9:
    case 11:
        printf("30 Days.");
        break;
  
    // Case for 28/29 Days
    case 2:
        printf("28/29 Days.");
        break;
  
    default:
        printf("Invalid Month.");
        break;
    }
}
  
// Driver Code
int main()
{
    // Input Month
    int N = 4;
  
    // Function Call
    printNumberOfDays(N);
  
    return 0;
}
Producción:

30 Days.

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Método – 3: usando arrays :

  1. Almacene el valor de los días correspondientes a cada mes en una array como:

    array[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }

  2. Imprima el día correspondiente a cada mes de la array anterior.

A continuación se muestra la implementación del enfoque anterior:

// C program to find the number of days
// in a month using arrays
#include <stdio.h>
  
// Driver Code
int main()
{
    // Store the day in array arr[]
    int arr[12] = { 31, 28, 31, 30, 31, 30,
                    31, 31, 30, 31, 30, 31 };
  
    // Input Month
    int N = 4;
  
    // Print the number of days in
    // month 4
    printf("%d Days.", arr[N - 1]);
  
    return 0;
}
Producción:

30 Days.

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Método – 4: usando punteros :

  1. Almacene el valor de los días correspondientes a cada mes en una array como:

    array[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }

  2. Imprima el día correspondiente a cada mes de la array anterior usando punteros como:

    printf(“%d Días.”, *(arr + (*N – 1)))

A continuación se muestra la implementación del enfoque anterior:

// C program to find the number of days
// in a month using pointers
#include <stdio.h>
  
// Function to print number of Days
void printNumberOfDays(int* arr, int* N)
{
    // Print the number of days for Nth
    // month using *(arr+(*N - 1))
    printf("%d Days.", *(arr + (*N - 1)));
}
  
// Driver Code
int main()
{
    // Store the day in array arr[]
    int arr[12] = { 31, 28, 31, 30, 31, 30,
                    31, 31, 30, 31, 30, 31 };
  
    // Input Month
    int N = 4;
  
    // Print the number of days in
    // month 4
    printNumberOfDays(arr, &N);
  
    return 0;
}
Producción:

30 Days.

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *