入力した日が何曜日か出したいのですがどうしても曜日が一日ずれてしまいます。どこが悪いのかアドバイスお願いします
#include<stdio.h>
int main() {
int iyear,imonths,iday;
int sum,i;
int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
char*cweek[7] = {"日","月","火","水","木","金","土"};
sum =0;
printf ("input (e.g. ****/**/**)\n>>");
scanf ("%d/%d/%d",&iyear,&imonths,&iday);
/*閏年の判定*/
for(i=1;i<year;i++){
if((year%4==0)&&((year%100!=0))||(year%400==0)){
sum++;
i++;
}
year--;
/*前月までの日数*/
for (i =0; i < imonths-1; i++) {
sum += m_array[i];
}
year++;
sum=sum+day;
//曜日の出力
printf("%s曜日",cweek[sum%7]);
return 0;
}
}
No.5
- 回答日時:
やりたいことはこういうことですか?
#include<stdio.h>
int main() {
int iyear,imonths,iday;
int sum,i;
int year;
int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
char*cweek[7] = {"日","月","火","水","木","金","土"};
sum =0;
printf ("input (e.g. ****/**/**)\n>>");
scanf ("%d/%d/%d",&iyear,&imonths,&iday);
/*閏年の判定*/
for(year=1;year<iyear;year++){
if((year%4==0)&&((year%100!=0))||(year%400==0)){
sum+=366;
}else{
sum+=365;
}
}
printf( "year sum = %d\n", sum );
if((year%4==0)&&((year%100!=0))||(year%400==0)){
m_array[1] = 29;
}else{
m_array[1] = 28;
}
/*前月までの日数*/
for (i =0; i < imonths-1; i++) {
sum += m_array[i];
}
printf( "months sum = %d\n", sum );
sum=sum+iday;
//曜日の出力
printf("%s曜日",cweek[sum%7]);
return 0;
}
No.1
- 回答日時:
iyear
と
year
が使われています。
この回答への補足
失礼しました、あのままだとコンパイラできませんね。
#include<stdio.h>
int main() {
int year,months,day;
int sum,i;
int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
char*cweek[7] = {"日","月","火","水","木","金","土"};
sum =0;
printf ("input (e.g. ****/**/**)\n>>");
scanf ("%d/%d/%d",&year,&months,&day);
/*閏年の判定*/
for(i=1;i<year;i++){
if((year%4==0)&&((year%100!=0))||(year%400==0)){
sum++;
i++;
}
year--;
/*前月までの日数*/
for (i =0; i < months-1; i++) {
sum += m_array[i];
}
year++;
sum=sum+day;
//曜日の出力
printf("%s曜日",cweek[sum%7]);
return 0;
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語: ポインタ 5 2022/06/01 08:33
- C言語・C++・C# プログラミング実行後の表示される値を答えよ #include<stdio.h> void main( 7 2022/05/20 00:07
- C言語・C++・C# プログラミング実行後に表示される値を答えよ #include <stdio.h> void main 4 2022/05/28 10:20
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
Excelで第一〇曜日を求める方法...
-
燃えるゴミの日は何曜日ですか?
-
[Excel] ある日の曜日が当月の"...
-
VBA。複数のChangeイベントをま...
-
6月の第2 第4火曜日は何日...
-
週2回のペースって だいたい何...
-
週休3日制で土日の他にもう一日...
-
土曜日の26時って何曜日の何時...
-
曜日を求めるプログラムはどう...
-
フローチャート 九九
-
曜日ごとの集計をしたい
-
第○曜日であるかを取得する関数
-
毎○曜日って、使いますか?
-
指定曜日にMsgBox表示は可能で...
-
一年の第何週目であるかを判断...
-
ユーザー定義の(aaa)
-
ファイルメーカー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
週休3日制で土日の他にもう一日...
-
VBA。複数のChangeイベントをま...
-
毎週同じ曜日にラブホに行くと...
-
Excelで第一〇曜日を求める方法...
-
ユーザー定義の(aaa)
-
6月の第2 第4火曜日は何日...
-
今週とは何曜日から何曜日まで...
-
日本語問題 昨日は何曜日ですか...
-
曜日と曜の使い分けがわかりま...
-
土曜日の26時って何曜日の何時...
-
曜日のなぞ
-
時計の曜日がいつのまにか違う
-
エクセル、条件付書式について...
-
指定曜日にMsgBox表示は可能で...
おすすめ情報