Załączam ci prog. w C++ (kompil. pod Dev-C++), jeżeli ma to być w C, to zmień fcje IO.
Funkcja obliczająca ilość dni jest niudokumentowana (przynajmniej o tym nie wiem), ale działa OK.
#include <iostream>
#include <stdlib.h>
using namespace std;
int r,d,m,ile_dni;
string dz[ 7 ]={"niedz.","poniedz.","wtorek","sroda",
"czwartek.","piatek","sobota"};
int ile1(int r,int m,int d)
{
return(int(365*r+d+31*(m-1)+int((r-1)/4)-int(0.75*(int(((r-1)/100)+1)))));
}
int ile2(int r,int m,int d)
{
return(int (365*r+d+31*(m-1)-int(0.4*m+2.3)+int(r/4)-int(0.75*(int(r/100)+1))));
}
int main()
{
cout<<"podaj rok ";cin>>r;
cout<<"podaj miesiac ";cin>>m;
cout<<"podaj dzien ";cin>>d;
if((m==1)||(m==2)) ile_dni=ile1(r,m,d);else ile_dni=ile2(r,m,d);
cout<<"od roku 0, m-ca 1, dnia 1 minelo "<<ile_dni<<" dni"<<endl;
int d=(ile_dni % 7)-1;if(d==-1)d=0;
cout<<endl;
cout<<"szukany dzien to "<<dz[ d ]<<endl;
system("pause");
}