Δημοσιεύτηκε: 28 Μαρ 2012, 20:32
από migf1
Star_Light έγραψε:
Ilias95 έγραψε:

Hint1: Εκτύπωσε πρώτα την πρώτη εβδομάδα (έξω από loop) και μετά τις υπόλοιπες.


hehehe σωστος! Και εγω αυτο σκεφτηκα οτι πρεπει να εκτυπωνει κενους χαρακτηρες.
Ευχαριστω για το hint φαινεται καλο θα το δοκιμασω !!!! ;)

Μπορούν να γίνουν όλα σε ένα μόνο loop...

Spoiler: show
Μορφοποιημένος Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>

#define MAXINPUT (255+1)

int main( void )
{
char input[ MAXINPUT ] = {'\0'};
int i, max, wd = 0, ndays = 0; /* wd: month's starting weekday (1=Sun, 7=Sat) */

do {
printf( "How many days in month (28-31)? " );
fgets( input, MAXINPUT, stdin);
ndays = atoi(input);
} while (ndays < 28 || ndays > 31);

do {
printf( "Weekday of month's 1st (1=Sun, 7=Sat)? " );
fgets( input, MAXINPUT, stdin);
wd = atoi(input);
} while (wd < 1 || wd > 7);

puts( "\nSun Mon Tue Wed Thu Fri Sat" );

--wd;
max = ndays + wd;
for (i=0; i < max; i++)
{
if ( 0 != i && i % 7 == 0 )
putchar('\n');
if ( i < wd )
printf(" ");
else
printf("%-4d", i - wd + 1);
}
putchar('\n');

exit( EXIT_SUCCESS );
}