- ベストアンサー
入力した日は何曜日か
入力した日が何曜日か出したいのですがどうしても曜日が一日ずれてしまいます。どこが悪いのかアドバイスお願いします #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; } }
- みんなの回答 (6)
- 専門家の回答
補足
やっぱりsumに問題があるんですかね?