
No.6
- 回答日時:
以下のプログラムを試して下さい。
#include<stdio.h>
int dayofw(int ,int ,int );
void main()
{
int y, m, dw, i, cnt;
char week[7][4]={"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
int mday[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
printf("西暦年入力->");
scanf("%d", &y);
printf("月入力->");
scanf("%d", &m);
dw=dayofw(y, m, 1);
cnt=dw;
printf("%d/%d\n ", y, m);
for(i=0; i<7; i++){
printf("%s ", week[i]);
}
printf("\n");
for(i=0; i<dw; i++){
printf(" ");
}
for(i=1; i<=mday[m-1]; i++){
printf(" %3d ", i);
cnt++;
if(cnt==7){
printf("\n");
cnt=0;
}
}
printf("\n");
}
int dayofw(int y, int m, int d)
{
int y1, yobi;
y1=(y+(y/4)-(y/100)+(y/400)+(2.6*m+1.6)+d);
yobi=y1%7;
return(yobi);
}
No.2
- 回答日時:
暇つぶしに作ってみました。
ツェラーの公式ですね。
#include <stdio.h>
int weekday(int y,int m,int d)
{
if ( m < 3 ){
m += 12 ;
y -- ;
}
return (y+y/4-y/100+y/400+(m*13+8)/5+d)%7 ;
}
int main()
{
int y,m,d,sw,ew ;
printf("年 : ");
scanf("%d",&y);
printf("月 : ");
scanf("%d",&m);
sw = weekday(y,m,1);
ew = weekday(y,m+1,1);
if ( sw <= ew ){
ew = ew - sw + 28 ;
} else {
ew = 35 - sw + ew ;
}
printf("%4d / %d\n",y,m);
printf("日 月 火 水 木 金 土");
for (d=0 ;d<37 ;d++){
if ( !(d%7) ){
printf("\n");
}
if ( d < sw || d >= ew+sw ){
printf(" ");
} else {
printf("%2d ",d-sw+1);
}
}
return 0 ;
}
この回答への補足
ありがとうございます。さっそくプログラムを動かしてみました。でも第一週と第二週の日付がうまくつながっていないです。これはどうしてでしょうか?
補足日時:2004/07/06 15:14お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語の勉強しています。すみま...
-
C言語プログラミング
-
boolean型の戻り値は可能か
-
最早開始時間と最遅完了時刻を...
-
【C++】関数ポインタの使い方
-
既定のコンストラクタがありま...
-
Aの値からBの値を除するとは??
-
「Aに対するBの割合」と「Aに対...
-
信頼区間の1.96や1.65ってどこ...
-
a^2の√=a が成り立たない場合
-
VB6.0での小数点の扱いについて
-
配列をnビットシフトする
-
数学 一次関数 関数 y=-3/4x+k(...
-
c languageで 簡単な質問があ...
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
プログラムでの数字につく”f”の...
-
C言語で複数列のデータを1列の...
-
c言語で、繰り返し文の中で、0....
-
sscanfとscanfの違いがよくわか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
コンパイルエラーについて
-
CTRL+Dでループを抜けるには
-
Cプログラムについて
-
コマンドラインに出力した文字...
-
WM_CLOSEで閉じれないウィンド...
-
C言語の&に関する質問
-
すごろくに使用するサイコロ
-
文字と数字の判定について
-
printf( " %2d", p * q );
-
【C言語教えてください】sin波...
-
%P と %X の違い
-
C言語の勉強しています。すみま...
-
strcmp
-
c言語でAからZまでを表示する...
-
unsigned int型について
-
(C言語)めちゃくちゃな値にな...
-
printf で二進表示を行いたい。
-
プログラミング C言語 課題でプ...
-
c言語で2000年以降カレンダーを...
おすすめ情報