(1)定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?
(1)定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?写一个函数days实现该问题,然后由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输...
(1)定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?写一个函数days实现该问题,然后由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出。
展开
3个回答
展开全部
#include <stdio.h>
typedef struct
{
int year;
int month;
int day;
}date;
int days(date d)
{
int num = 0;
int m, da, i;
if ((d.year %4 == 0 && d.year %100!=0)||(d.year % 400 == 0))
{
for (m = 1; m <= d.month ; m++)
{
if (m == 2)
da = 29;
else if (m==4||m==6||m==8||m==11)
da = 30;
else
da = 31;
for (i = 1; i <= da;i++)
{
num++;
if ( m == d.month && i == d.day )
return num;
}
}
}
else
{
for (m = 1; m <= d.month ; m++)
{
if (m == 2)
da = 28;
else if (m==4||m==6||m==8||m==11)
da = 30;
else
da = 31;
for (i = 1; i <= da;i++)
{
num++;
if ( m == d.month && i == d.day )
return num;
}
}
}
}
int main()
{
date d;
scanf("%d%d%d",&d.year,&d.month,&d.day);
printf("%d年%d月%d日 is the %d days of this year",d.year,d.month,d.day,days(d));
return 0;
}
//示例:输入2010 2 5
//输出为:2010年2月5日 is the 36 days of this year
//
typedef struct
{
int year;
int month;
int day;
}date;
int days(date d)
{
int num = 0;
int m, da, i;
if ((d.year %4 == 0 && d.year %100!=0)||(d.year % 400 == 0))
{
for (m = 1; m <= d.month ; m++)
{
if (m == 2)
da = 29;
else if (m==4||m==6||m==8||m==11)
da = 30;
else
da = 31;
for (i = 1; i <= da;i++)
{
num++;
if ( m == d.month && i == d.day )
return num;
}
}
}
else
{
for (m = 1; m <= d.month ; m++)
{
if (m == 2)
da = 28;
else if (m==4||m==6||m==8||m==11)
da = 30;
else
da = 31;
for (i = 1; i <= da;i++)
{
num++;
if ( m == d.month && i == d.day )
return num;
}
}
}
}
int main()
{
date d;
scanf("%d%d%d",&d.year,&d.month,&d.day);
printf("%d年%d月%d日 is the %d days of this year",d.year,d.month,d.day,days(d));
return 0;
}
//示例:输入2010 2 5
//输出为:2010年2月5日 is the 36 days of this year
//
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
#include<iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
bool run(int);
int days(Date &);
int main()
{
cout<<"请输入你要计算的日期:\n";
Date date;
cout<<"年:";
cin>>date.year;
cout<<"月:";
cin>>date.month;
cout<<"日:";
cin>>date.day;
cout<<date.year<<"年"<<date.month<<"月"<<date.day<<"日是这一年的第"
<<days(date)<<"天\n";
system("pause");
return 0;
}
bool run(int ra)
{
if(ra%4==0&&ra%100!=0||ra%400==0)
return 1;
else
return 0;
}
int days(Date & date)
{
int yue[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int x,sum=0;
for(x=1;x<date.month;x++)
sum=sum+yue[x];
if(run(date.year)&&date.month>=3)
sum++;
return sum+date.day;
}
using namespace std;
struct Date
{
int year;
int month;
int day;
};
bool run(int);
int days(Date &);
int main()
{
cout<<"请输入你要计算的日期:\n";
Date date;
cout<<"年:";
cin>>date.year;
cout<<"月:";
cin>>date.month;
cout<<"日:";
cin>>date.day;
cout<<date.year<<"年"<<date.month<<"月"<<date.day<<"日是这一年的第"
<<days(date)<<"天\n";
system("pause");
return 0;
}
bool run(int ra)
{
if(ra%4==0&&ra%100!=0||ra%400==0)
return 1;
else
return 0;
}
int days(Date & date)
{
int yue[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int x,sum=0;
for(x=1;x<date.month;x++)
sum=sum+yue[x];
if(run(date.year)&&date.month>=3)
sum++;
return sum+date.day;
}
参考资料: C++
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
struct date
{
int year;
int month;
int day;
};
int leap_year(int a);
int cal_day(struct date a);
/*判断闰年*/
int leap_year(int a)
{
if(a%400==0||(a%4==0&&a%100!=0))
return 1;
else
return 0;
// if(a%400==0)
// return 1;
// else if(a%100==0)
// return 0;
// else if(a%4==0)
// return 1;
// else
// return 0;
}
/*计算一年中的第几天*/
int cal_day(struct date a)
{
int sum=0,b[]={31,28,31,30,31,30,31,31,30,31,30,31} ;
for(int i=0;i<a.month-1;i++)
sum+=b[i];
if(a.month>2)
sum=sum+a.day+leap_year(a.year);
else
sum=sum+a.day;
return sum;
}
void main()
{
struct date a;
int n;
printf("\n请输入日期(年 月 日)\n");
scanf("%d%d%d",&a.year,&a.month,&a.day);
n=cal_day(a);
printf("该日在本年中是第%d天\n",n);
}
struct date
{
int year;
int month;
int day;
};
int leap_year(int a);
int cal_day(struct date a);
/*判断闰年*/
int leap_year(int a)
{
if(a%400==0||(a%4==0&&a%100!=0))
return 1;
else
return 0;
// if(a%400==0)
// return 1;
// else if(a%100==0)
// return 0;
// else if(a%4==0)
// return 1;
// else
// return 0;
}
/*计算一年中的第几天*/
int cal_day(struct date a)
{
int sum=0,b[]={31,28,31,30,31,30,31,31,30,31,30,31} ;
for(int i=0;i<a.month-1;i++)
sum+=b[i];
if(a.month>2)
sum=sum+a.day+leap_year(a.year);
else
sum=sum+a.day;
return sum;
}
void main()
{
struct date a;
int n;
printf("\n请输入日期(年 月 日)\n");
scanf("%d%d%d",&a.year,&a.month,&a.day);
n=cal_day(a);
printf("该日在本年中是第%d天\n",n);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询