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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のwhileを使ってプログラムを組みたいです!自分でやってみたのですが答えが合わないので教えて 3 2022/06/30 18:08
- その他(行事・イベント) 暦=カレンダーのことで、暦の上ではとは言うのに、なぜカレンダーの上ではとは言わないのでしょうか。 6 2022/11/06 19:59
- Excel(エクセル) DATE関数で指定する「日」のセルが関数の場合の対処法 5 2022/09/14 15:46
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Excel(エクセル) エクセルカレンダーに予定表を反映したいです。 6 2022/09/30 14:39
- C言語・C++・C# c言語で自然数nを入力、2以上n以下の偶数の累積sumを求めるプログラムをfor文を使って作りたいで 4 2022/11/09 14:10
- C言語・C++・C# linux C言語について ./ファイル名 入力値 入力値が表示 という風に実行と入力を同時にしたい 3 2022/10/17 16:57
- その他(パソコン・スマホ・電化製品) Googleカレンダーで不要データを一括削除したい 1 2023/08/02 12:42
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
環境はwindows10、visual studi...
-
c言語でAからZまでを表示する...
-
C言語 関数
-
スレッドとメッセージキューに...
-
3つの整数が等しいかどうか調...
-
printfの出力内の文字をdefine...
-
テキストカーソル位置の取得
-
Visual C++ 2008 Express Edition
-
コンパイルエラーについて
-
C言語に関して質問です。 次の...
-
ポインタ配列のプログラムについて
-
C言語 ツェラーの公式を使った...
-
C言語についてです。 アスタリ...
-
Segmentation fault
-
台形の面積を求めるプログラム
-
AtCoderABC135の問題Cについて
-
「指定されたキャストは有効で...
-
2÷3などの余りについて
-
Enterキーを押されたら次の処理...
-
C言語での引数の省略方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
printf で二進表示を行いたい。
-
コンパイルエラーについて
-
CTRL+Dでループを抜けるには
-
【C言語教えてください】sin波...
-
三角形の判別
-
4の倍数を論理演算で表す。。
-
strcmp
-
%P と %X の違い
-
入力したお金の金額からお札の...
-
LU分解法のピボット選択機能実...
-
コマンドラインに出力した文字...
-
LU分解法のピボッティングにつ...
-
テキストカーソル位置の取得
-
c言語でAからZまでを表示する...
-
C言語での、年複利の計算方法...
-
C言語 プログラミング
-
改行について 1行に何個かづ...
-
printfの出力内の文字をdefine...
-
C言語です このプログラミング...
おすすめ情報