[問題] c語言當機
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
編譯正確但是一執行就會當機
希望得到的正確結果:
萬年曆
程式跑出來的錯誤結果:
dos視窗跳出後 輸入年份完立刻跳出 程式發生問題 必須關閉 之錯誤訊息
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++ ,windows
有問題的code: (請善用置底文標色功能)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int year,monthDay=1,month ;
printf("輸入年");
int Feb ;
int week=0 ;
scanf("%d",year);
if(year%4==0)
{
week=year+year/4+year/400-year/100+monthDay-2;
week=week%7;
Feb=29;
}
if(year%4>0)
{
week=year+year/4+year/400-year/100+monthDay-1;
week=week%7;
Feb=28;
}
for(int i=1;i<=12;i++)
{ printf("%d月",i);
printf(" Sun Mon Tue Wed Thu Fri Sat\n");
if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12)
{ for(int j=1;j<=31;j++)
{ if(j==1)
{ for(int k=0;k<week;k++)
{
printf(" ");
}
}
printf("%3d",j);
week=(week+1)%7 ;
if(week==0 || j==31)
printf("\n");
}
}
else if(i==4 || i==6 || i==9 || i==11)
{ for(int j=1;j<=30;j++)
{ if(j==1)
{ for(int k=0;k<week;k++)
{
printf(" ");
}
}
printf("%3d",j);
week=(week+1)%7 ;
if(week==0 || j==30)
printf("\n");
}
}
else if(i==2)
{
for(int j=1;j<=Feb;j++)
{ if(j==1)
{
for(int k=0;k<week;k++)
{
printf(" ");
}
}
printf("%3d",j);
week=(week+1)%7;
if(week==0 || j==Feb)
printf("\n");
}
}
}
system("pause");
return 0 ;
}
補充說明:
對不起我不會標色orz...
剛剛盯著看了快兩小時了 實在是不知道為什麼
一執行還是會當機@@
懇請高手指點 感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.102.131
→
10/21 01:09, , 1F
10/21 01:09, 1F
※ 編輯: honamida 來自: 140.116.102.131 (10/21 01:10)
→
10/21 01:11, , 2F
10/21 01:11, 2F
→
10/21 01:11, , 3F
10/21 01:11, 3F
→
10/21 01:20, , 4F
10/21 01:20, 4F
→
10/21 11:49, , 5F
10/21 11:49, 5F
推
10/21 14:06, , 6F
10/21 14:06, 6F
推
10/21 14:11, , 7F
10/21 14:11, 7F
→
10/21 14:51, , 8F
10/21 14:51, 8F
推
10/23 10:34, , 9F
10/23 10:34, 9F