rok przestepny/normalny

0

Rok nazywamy przestępnym, jeżeli potraktowany jako liczba całkowita jest podzielny przez 4 i nie jest podzielny przez 100, lub jest podzielny przez 400.

Zadanie

Napisz program, który dla wartości roku R wczytanej ze standardowego wejścia sprawdzi czy R jest rokiem przestępnym.

Wejście

Liczba naturalna N (N<1000), a następnie N liczb naturalnych (nie większych niż 32000).

Wyjście

Dla każdej z podanych na wejściu liczb program powinen wydrukowań na ekranie wiersz postaci:

X - rok przestepny/normalny

#include "stdio.h"


int przestepny(int n)
{
return ((n % 4 == 0) && (n % 100 != 0)) || (n % 400 == 0);
}


int main()
{
int n;
printf("Podaj ilosc do sprawdzenia.\n");
scanf("%d", &n);
int rok;

for(int i=1; i<=n; i++)
    {
        printf("podaj rok \n");
        scanf("%d", &rok);
    }

if (przestepny(rok)){
printf("%d "- rok przestepny\n");
}
else {
printf("%d",rok,"- rok nie przestepny.\n");
}

chce wypisywać np 3 1991 2000 2008
i żeby wyszło
1991 - rok normalny
2000 -rok przestępny
20008 - rok przestępny

0

Algorytm:

int isLeap(int n) {
	if (n % 4 != 0) {
		return 0;
	}
	else if (n % 100 != 0) {
		return 1;
	}
	else if (n % 400 != 0) {
		return 0;
	}
	else {
		return 1;
	}
}

https://en.wikipedia.org/wiki/Leap_year#Algorithm

0
#include "stdio.h"


int przestepny(int n)
{
return ((n % 4 == 0) && (n % 100 != 0)) || (n % 400 == 0);
}


int main()
{

int n;
//printf("Podaj ilosc do sprawdzenia.\n");
scanf("%d", &n);
int rok;

for(int i=0; i<=n; i++)
    {
        //printf("podaj rok \n");
        scanf("%d", &rok);
        if (przestepny(rok)){
printf("%d - rok przestepny\n",rok );
}
else {
printf("%d - rok normalny\n", rok);
}

    }
return 0;
}

W codeblocks mi to działa ale jak mam wrzucić na strone to mam błąd taki
source_B1.c: In function ‘main’:

source_B1.c1: error: ‘for’ loop initial declarations are only allowed in C99 mode

for(int i=0; i<=n; i++)

^

source_B1.c1: note: use option -std=c99 or -std=gnu99 to compile your code

0

próbowałam i nic w codeblocks działa na rózne sposoby a tam cały czas ten błąd

0
#include "stdio.h"





int main()
{




int n;
scanf("%d", &n);
int rok;
int przestepny(int n)
{
return ((n % 4 == 0) && (n % 100 != 0)) || (n % 400 == 0);
}
for(int i=1; i<=n; i++)
    {
        //printf("podaj rok \n");
        scanf("%d", &rok);
        if (przestepny(rok)){
printf("%d - rok przestepny\n",rok );
}
else {
printf("%d - rok normalny\n", rok);
}

    }
return 0;
}

nawet na tak to zmieniłam i to działa w codeblocks
a na stronę gdzie nam każą to wrzucać pojawia się :

1 Błąd kompilacji 0/1000 0/32 0/1 source_B1.c: In function ‘main’:

source_B1.c1: error: ‘for’ loop initial declarations are only allowed in C99 mode

for(int i=1; i<=n; i++)

^

source_B1.c1: note: use option -std=c99 or -std=gnu99 to compile your code

2 Błąd kompilacji 0/1000 0/32 0/2 source_B1.c: In function ‘main’:

source_B1.c1: error: ‘for’ loop initial declarations are only allowed in C99 mode

for(int i=1; i<=n; i++)

^

source_B1.c1: note: use option -std=c99 or -std=gnu99 to compile your code

3 Błąd kompilacji 0/1000 0/32 0/2 source_B1.c: In function ‘main’:

source_B1.c1: error: ‘for’ loop initial declarations are only allowed in C99 mode

for(int i=1; i<=n; i++)

^

source_B1.c1: note: use option -std=c99 or -std=gnu99 to compile your code

0

co i gdzie wywalic bo nie chce niczego zepsuc

0

Deklaracje licznika i

0
#include "stdio.h"

int main()
{

int n;
scanf("%d", &n);
int rok;
int przestepny(int n)
{
return ((n % 4 == 0) && (n % 100 != 0)) || (n % 400 == 0);
}
int i = 0;
for(i=1; i<=n; i++)
    {
        //printf("podaj rok \n");
        scanf("%d", &rok);
        if (przestepny(rok)){
printf("%d - rok przestepny\n",rok );
}
else {
printf("%d - rok normalny\n", rok);
}

    }
return 0;
}

0

Po tym pokazuje
source_B1.c: In function ‘main’:

source_B1.c9: error: redefinition of ‘i’

for(int i=1; i<=n; i++)

^

source_B1.c6: note: previous definition of ‘i’ was here

int i=0;

^

source_B1.c1: error: ‘for’ loop initial declarations are only allowed in C99 mode

for(int i=1; i<=n; i++)

^

source_B1.c1: note: use option -std=c99 or -std=gnu99 to compile your code

0

dobra działa, wrzuciłam to samo trzy razy i dwa razy był bład a za trzecim przeszło, dzięki za pomoc

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