アプリ版:「スタンプのみでお礼する」機能のリリースについて

西暦年と月を入力すると、その年月のカレンダーが出てくる万年カレンダーのC言語プログラムを教えてください!

その出力結果が
2***年 *月
月 火 水 木 金 土 日 月 火 水 木 金 土 日
1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19 20 21 22 23 24 25 26 27 28
29 30 31

というように二週間ごとに表示するもので、
うるう年の判別ができるものになるようにしたいのですが。
年=n月=g
で入力するものを作りたいんです。
よろしくお願いします!!!(>_<)

A 回答 (2件)

なんとなく作りました。


入力に関してはそちらで考えてください

#include<stdio.h>

int dayofw(int ,int ,int );

void main()
{
int y, m, dw, i, cnt, j;
char week[7][2]={"日", "月", "火", "水", "木", "金", "土"};
int mday[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

printf("年=");//入力
scanf("%d", &y);

printf("月=");
scanf("%d", &m);

if((y%4)==0 && (y%100) != 0 || (y%400) == 0){
mday[1] = 29;
}else{
mday[1] = 28;
}

dw=dayofw(y, m, 1);
cnt=dw;

printf("%d年%d月\n ", y, m);
for(j=0; j<2; j++){
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==14){
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);
}
    • good
    • 0
この回答へのお礼

ありがとうございます!
参考にして考えていきたいと思います!
(*^-^*)

お礼日時:2004/07/23 11:21

http://okweb.jp/kotaeru.php3?q_id=916561
過去の質問、こちらをご覧下さい。

この回答への補足

2週間ごとに表示させるときに、
表示が
月 火 水 木 金 土 日 月 火 水 木 金 土 日
           1 2 3 4 5 6 7
8 9 10 11 12 13 1415 16 17 18 19 20 21
22 23 24 25 26 27 2829 30 31

というようにおかしくなってしまうんです

補足日時:2004/07/23 11:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!