至急お願いします
Posted: 2010年12月13日(月) 02:50
C言語
「○○は××の何日前(後)」を表示させるプログラムを作成したい。
途中ぬけて、おかしい部分があると思いますが・・・
後はもう1個年月日を入力して、差を求めたいのですが、どうすればいいかわかりません。
もしよければわかりやすいプログラム例をつくってください。
曜日が入ってるのもおかしいのかな???
#include <stdio.h>
int weekday(int y,int m,int d)
{
y=y+(m-1)/12;
m=(m-1)%12+1;
if(m<3)
{
y--;
m=m+12;
}
return (y+y/4-y/100+y/400+(m*13+8)/5+d)%7;
}
int main()
{
int y,m,d,ret;
char day[][7] ={"日","月","火","水","木","金","土"};
printf("西暦で年月日を入力してください\n");
scanf("%4d/%2d/%2d",&y,&m,&d);
ret = weekday(y,m,d);
printf("%4d年%2d月%2d日は%s曜日です。\n",y,m,d,day[ret]);
scanf("%d",&d);
return 0;
}
「○○は××の何日前(後)」を表示させるプログラムを作成したい。
途中ぬけて、おかしい部分があると思いますが・・・
後はもう1個年月日を入力して、差を求めたいのですが、どうすればいいかわかりません。
もしよければわかりやすいプログラム例をつくってください。
曜日が入ってるのもおかしいのかな???
#include <stdio.h>
int weekday(int y,int m,int d)
{
y=y+(m-1)/12;
m=(m-1)%12+1;
if(m<3)
{
y--;
m=m+12;
}
return (y+y/4-y/100+y/400+(m*13+8)/5+d)%7;
}
int main()
{
int y,m,d,ret;
char day[][7] ={"日","月","火","水","木","金","土"};
printf("西暦で年月日を入力してください\n");
scanf("%4d/%2d/%2d",&y,&m,&d);
ret = weekday(y,m,d);
printf("%4d年%2d月%2d日は%s曜日です。\n",y,m,d,day[ret]);
scanf("%d",&d);
return 0;
}