练习题让标注和找错,实在找不到错,说是2个语法错误,3个逻辑错误,但是运行一点问题都没有,很不解
#include
#include
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
/*在下列位置指出程序的错误位置(第几行什么内容),并在程序中改正
错误1:
错误2:
错误3:
错误4:
错误5:
*/
main()
{
// 以下变量的用途: 定义变量 年(Year) 月 (Month)
int Year,Month;
//以下变量的用途: 定义中间变量 “i,temp ”和变量 “日(i),星期几(weekday) ”
int i,j,temp,weekday;
//以下变量的用途: 定义变量 “该年总天数 (Days)”
int Days;
//以下变量的用途: 定义 “每月总天数 (monthDays)”
int monthDays;
//
printf("请输入年份:");
scanf("%d",&Year);
printf("%d年日历为:\n",Year);
printf("----------------------------------------------\n");
//for循环的用途: 重复运行程序12次 ,计算并输出每月月历
for(Month=1;Month<=12;Month++)
{
printf("%d年%d月日历\n",Year,Month);
printf(" 日 一 二 三 四 五 六\n");
//请逐行注释40行-57行
Days=0;
for(i=1;i<=Month-1;i++)//利用for循环进行判断每月天数
{
if(i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)//判断大月
{
monthDays=31;//为大月天数赋值 31
}
else if(i == 4 || i == 6 || i == 9 || i == 11)//判断小月
{
monthDays=30;//为小月天数赋值 30
}
else//判断二月平,润情况
{
if(Year%4==0 && Year%100!=0 || Year%400==0) //判断年份平,润
monthDays=29;//平年,月天数赋值为29
else
monthDays=28;//闰年,月天数赋值为30
}
Days+=monthDays;//计算一年总天数
}
Days = Days + 1;
temp = (Year-1)+(Year-1)/4-(Year-1)/100+(Year-1)/400+Days;
weekday = temp % 7;
for(i=0;i" ");
}
if(Month == 1 || Month == 3 || Month == 5 || Month == 7 || Month == 8 || Month == 10 || Month == 12)
{
monthDays=31;
}
else if(Month == 4 || Month == 6 || Month == 9 || Month == 11)
{
monthDays=30;
}
else
{
if(Year%4==0 && Year%100!=0 || Year%400==0)
monthDays=29;
else
monthDays=28;
}
//请逐行注释83-88行
for(j=1;j<=monthDays;j++)//利用for循环 输出每月每日日期
{
printf("%4d",j);//输出“几月几号 ”中的“号 ”
if((j+weekday)%7==0)//判断是否为“星期日”
{
printf("\n");//输出星期日的“号 ”前换行
}
}
printf("\n");
printf("--------------------------------------------------------\n");
}
return 0;
}
你到底是c语言还是c++,标题和标签怎么还矛盾呢
你要先搞清楚考什么科目,不要考数学你飚英语,c和c++语法很像,但是毕竟是不同的编程语言
main函数没有写返回值类型