#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
/*
* 请使用switch语句,if...else语句完成本题
* 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
* 小编还是希望大家独立完成哦~
*/
for(i=1;i<=month;i++)
switch(i){
case 1:day=day+31;break;
case 2:if(year%400==0||year%4==0&&year%100!=0){day=day+29;}
else{day=day+28;}break;
case 3:
case 5:
case 7:
case 8:day=day+31;break;
case 4:
case 6:day=day+30;break;
printf("%d年%d月8日是该年的第%d天",year,month,day);
你这里面有两个错
1.没定义常量i;
2.(year%400==0||year%4==0&&year%100!=0):这个条件是啥意思?如果你想要表达能被400整除或者(能被4整除且不能被100整除),那么你的条件应该是(year%400==0||(year%4==0&&year%100!=0))
是不是需要先定义常量, int i;