wypisanie liczb parzystych i nieparzystych

0

Cześć mam do was pytanko jeszcze do jednego programu-muszę napisać program który wypisuje czy liczba jest parzysta czy nieparzysta-nie mogę użyć if i '?:'
Okazało się jednak że może być też tylko jeden switch i nie wiem jak zastąpić ten działający program z dwoma tak by był tylko jeden switch

#include <stdio.h>

int main() 
{
    int a,b;
    printf("Podaj liczbe:");
    int warunek=scanf("%d",&a);
    b=a%2;
    switch(warunek)
    { case 0:printf("incorrect input\n"); return 1;
      case 1:switch(b)
      {
        case 0:
            printf("%d is even",a);
            return 0;
        case 1:
            printf("%d is odd",a);
            return 0;

      }

    }   
}
1

Zrób sobie pętlę while.
Tak btw, skąd bierzesz takie głupie zadania?

2

Zadanie iście kretyńskie. Ale w tym wypadku użyłbym tablicy stringów.

#include <stdio.h>

int main()
{
    int a;
    printf("Podaj liczbe:");
    int warunek = scanf("%d", &a);
    char const* wtf[2] = { "Liczba parzysta\n", "Liczba nieparzysta\n" };
    switch (warunek) {
    case 0:
        printf("incorrect input\n");
        return 1;
    case 1:
        printf(wtf[a % 2]);
    }
}
}
2
#include <stdio.h>
#include <string.h>

void isOdd(int num) {
    char text[100] = "Liczba jest ";
    strcat(text, "nieparzysta\n" + ((num + 1) % 2) * 3);
    printf(text);
}

int main(void) {
    isOdd(120);
    isOdd(135);
    isOdd(-1);
    isOdd(0);
    return 0;
}
0

nie może być pętel
@kq:

tylko musi być wypisany format 'A' is even/odd i nie za bardzo to wychodzi twoim sposobem

0
kq napisał(a):

U mnie działa: https://wandbox.org/permlink/GiERRSVhB6UQkM9P

A wiesz może jak można by zmienić twój program by wyświetlał "%d is even/odd,a" bo to jest również wymagane

0

Tutaj musisz się wykazać własną inwencją. Co takiego należałoby zmienić w moim programie, aby zmienić wyświetlany tekst? 🤔🤔🤔

0
kamiloo2k napisał(a):
kq napisał(a):

U mnie działa: https://wandbox.org/permlink/GiERRSVhB6UQkM9P

A wiesz może jak można by zmienić twój program by wyświetlał "%d is even/odd,a" bo to jest również wymagane

@szweszwe właśnie dowiaduję się ciągle o wykluczeniach których nie ma wypisanych

1
#include <stdio.h>

void bad(int a) { printf("incorrect input\n"); }
void ok(int a) {  printf("Liczba %d jest %s",a,"nieparzysta\n"+3*((a^1)&1)); }

int main()
{
    typedef void fun(int a);
    static fun *funtb[]={&bad,&ok};
    int a;
    printf("Podaj liczbe: ");
    funtb[scanf("%d",&a)](a);
    return 0;
}

Takiej wersji jeszcze nie było, chyba.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0