C语言输入年月日输出是该年的第几天(改错)

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:27:02
#include<stdio.h>
int is_leap_year(int year)
{
int leap;
if((year%4==0&&year%100!=0)||(year%400==0))leap=1;
else leap=0;
return leap;
}

int len_of_month(int year,int month)
{
int month_days;
switch(month)
{
case 2:month_days=28;break;
case 4:
case 6:
case 9:
case 11:month_days=30;break;
default:month_days=31;break;
}
if((is_leap_year(year)==1)&&(month==2))month_days++;
return month_days;
}

int len_of_days(int year,int month,int date)
{
int total_days=0,n;
for(n=1;n>month;n++)
total_days+=len_of_month(year,month);
total_days+=date;
return total_days;
}

void main()
{
int year,month,days,date,n;
printf("请输入 年,月,日:");
scanf("%d,%d,%d",&year,&month,&date);
days=len_of_days(year,month,date);
printf("%d年%d月%d日是该年的第%d天",year,month,date,days);
ge

呵呵,不仔细啊~~
两个地方不对,都在这个循环里出的问题:
首先,
for(n=1;n>month;n++)//应该是n<month才合理
其次,
total_days+=len_of_month(year,month); //参数应该传n,而不是month

看还有什么问题不~~?

我改了下。你比对下你的看看哪里不一样吧。

#include<stdio.h>
int is_leap_year(int year)
{
int leap;
if((year%4==0&&year%100!=0)||(year%400==0))leap=1;
else leap=0;
return leap;
}

int len_of_month(int year,int month)
{
int month_days;
switch(month)
{
case 2:month_days=28;break;
case 4: ;
case 6: ;
case 9: ;
case 11:month_days=30;break;
default:month_days=31;break;
}
if((is_leap_year(year)==1)&&(month==2))month_days++;
return month_days;
}

int len_of_days(int year,int month,int date)
{
int total_days=0,n;
for(n=1;n<month;n++)
total_days+=len_of_month(year,month);
total_days+=date;
return total_days;
}

C语言问题:键盘输入年月日,输出,该日是该年的第几天 C语言的问题:根据输入的年月日,输出该日为该年度的第几周、第几天、星期几。 输入年月日判断这一天是这一年的第几天 ?(C语言编写)! 用C语言编写 “输如年月日,然后输出是这年的第几天” 编写函数实现输入年月日,输出该日是该年的第几天.要求考虑闰年情况,并编写判断闰年函数提供调用 定义结构(包括年月日)输出该日是该年中的第几天 编程:要求输入某一年月日,判断其为该年的第几天? C++程序:给出年月日,计算该日是该年的第几天 c语言 输入日期求是今天是这年的第几天 用C语言编写:输入某年某月某日,判断这一天是这一年的第几天?