求助高人(翻译语句):定义一个结构体变量(包括年月日)。输入你的生日,计算该日是本年中的第几天
#include<stdio.h>voidmain(){structdate{intyear;intmonth[12];intday;}_date={0,{31,28,3...
#include<stdio.h>
void main()
{
struct date{
int year;
int month[12];
int day;
}_date={0,{31,28,31,30,31,30,31,31,30,31,30,31},0};
int mon,i,days=0;
scanf("%d%d%d",&_date.year,&mon,&_date.day);
if((!(_date.year%4)&&_date.year%100)||!(_date.year%400))
_date.month[1]=29;
for(i=0;i<mon-1;i++)
days+=_date.month[i];
days+=_date.day;
printf("%d\n",days);
}
这是在网上找到的一个看起来比较简单的一个,希望高人们帮我把这些语句翻译一下~~~~~~ 展开
void main()
{
struct date{
int year;
int month[12];
int day;
}_date={0,{31,28,31,30,31,30,31,31,30,31,30,31},0};
int mon,i,days=0;
scanf("%d%d%d",&_date.year,&mon,&_date.day);
if((!(_date.year%4)&&_date.year%100)||!(_date.year%400))
_date.month[1]=29;
for(i=0;i<mon-1;i++)
days+=_date.month[i];
days+=_date.day;
printf("%d\n",days);
}
这是在网上找到的一个看起来比较简单的一个,希望高人们帮我把这些语句翻译一下~~~~~~ 展开
4个回答
展开全部
#include <iostream>
using namespace std;
//定义日期结构体,包括年、月、日
struct
{
int year; //年
int month; //月
int day; //日
}date; //声明实体日期date
int main()
{
int i,days; //设输入日期在该年中为第days天
//每年12个月的天数存放在数组里,2月初始为平年
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"input year,month,day:";
//输入年月日
cin>>date.year>>date.month>>date.day;
//初始化days
days=0;
//从第1个月到输入月数的前一个月累加天数
for (i=1;i<date.month;i++)
{
days+=day_tab[i];
}
//累加输入当月的天数
days+=date.day;
//判断闰年,如果是闰年,则多加一天
if ((date.year%4==0 && date.year%100!=0 || date.year%400==0) && date.month>=3)
{
days+=1;
}
//输出结果
cout<<date.month<<"/"<<date.day<<" is the "<<days
<<"th day in "<<date.year<<"."<<endl;
return 0;
}
using namespace std;
//定义日期结构体,包括年、月、日
struct
{
int year; //年
int month; //月
int day; //日
}date; //声明实体日期date
int main()
{
int i,days; //设输入日期在该年中为第days天
//每年12个月的天数存放在数组里,2月初始为平年
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"input year,month,day:";
//输入年月日
cin>>date.year>>date.month>>date.day;
//初始化days
days=0;
//从第1个月到输入月数的前一个月累加天数
for (i=1;i<date.month;i++)
{
days+=day_tab[i];
}
//累加输入当月的天数
days+=date.day;
//判断闰年,如果是闰年,则多加一天
if ((date.year%4==0 && date.year%100!=0 || date.year%400==0) && date.month>=3)
{
days+=1;
}
//输出结果
cout<<date.month<<"/"<<date.day<<" is the "<<days
<<"th day in "<<date.year<<"."<<endl;
return 0;
}
展开全部
void main()
{
struct date{
int year;
int month[12];
int day;
}_date={0,{31,28,31,30,31,30,31,31,30,31,30,31},0};//初始化日期结构
int mon,i,days=0;
scanf("%d%d%d",&_date.year,&mon,&_date.day);//输入年月日
if((!(_date.year%4)&&_date.year%100)||!(_date.year%400))//判断是否是闰年
_date.month[1]=29;//2月增加一天
for(i=0;i<mon-1;i++)//循环到当月之前的一个月
days+=_date.month[i];//累加整月的天数
days+=_date.day;//加当月日期
printf("%d\n",days);//输出结果
}
最好分开写:我是这样写的
#include <stdio.h>
static const int daytable [2][13] = {
{0,31,28,31,30,31,30,31,31,30,31,30,31},//平年每月天数
{0,31,29,31,30,31,30,31,31,30,31,30,31}//闰年每月天数
};
struct Date
{
int year;
int month;
int day;
};
//判断闰年
int IsLeapYear(int year)
{
if(year%4==0&&year%100!=0||year%400 == 0)
return 1;
return 0;
}
//得到天数
int GetDays(Date& date)
{
int days = date.day;
int flag = IsLeapYear(date.year);//如果是闰年则是1,平年是0
for (int i = 0;i<date.month;i++)
{
days += daytable[flag][i]; //根据数组下标,累加每月天数
}
return days;
}
int main ()
{
Date date;
printf("输入日期:");
scanf("%d %d %d",&date.year,&date.month,&date.day);
int days = GetDays(date);//得到天数
printf("得到天数=%d\n",days); //输出天数
return 0;
}
{
struct date{
int year;
int month[12];
int day;
}_date={0,{31,28,31,30,31,30,31,31,30,31,30,31},0};//初始化日期结构
int mon,i,days=0;
scanf("%d%d%d",&_date.year,&mon,&_date.day);//输入年月日
if((!(_date.year%4)&&_date.year%100)||!(_date.year%400))//判断是否是闰年
_date.month[1]=29;//2月增加一天
for(i=0;i<mon-1;i++)//循环到当月之前的一个月
days+=_date.month[i];//累加整月的天数
days+=_date.day;//加当月日期
printf("%d\n",days);//输出结果
}
最好分开写:我是这样写的
#include <stdio.h>
static const int daytable [2][13] = {
{0,31,28,31,30,31,30,31,31,30,31,30,31},//平年每月天数
{0,31,29,31,30,31,30,31,31,30,31,30,31}//闰年每月天数
};
struct Date
{
int year;
int month;
int day;
};
//判断闰年
int IsLeapYear(int year)
{
if(year%4==0&&year%100!=0||year%400 == 0)
return 1;
return 0;
}
//得到天数
int GetDays(Date& date)
{
int days = date.day;
int flag = IsLeapYear(date.year);//如果是闰年则是1,平年是0
for (int i = 0;i<date.month;i++)
{
days += daytable[flag][i]; //根据数组下标,累加每月天数
}
return days;
}
int main ()
{
Date date;
printf("输入日期:");
scanf("%d %d %d",&date.year,&date.month,&date.day);
int days = GetDays(date);//得到天数
printf("得到天数=%d\n",days); //输出天数
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{
struct date{ // 定义结构体
int year; // 年份
int month[12]; // 月份数组 保存每月所拥有的天数
int day; // 日期
}_date={0,{31,28,31,30,31,30,31,31,30,31,30,31},0}; // 初始化 月份数组含义:1月31天,2月28天,以此类推
int mon,i,days=0; // 初始化局部变量:月份、循环用变量、天数
scanf("%d%d%d",&_date.year,&mon,&_date.day); // 按“年 月 日”的格式从键盘读取3个整数并分别保存
if((!(_date.year%4)&&_date.year%100)||!(_date.year%400)) // 输入的年份是闰年?
_date.month[1]=29; // 2月为29天 [end if]
for(i=0;i<mon-1;i++) // 循环至所输入的月份
days+=_date.month[i]; // 累计计算所输入月之前的总天数 [end for]
days+=_date.day; // 将所输入的天数累加至总天数
printf("%d\n",days); // 打印总天数
}
{
struct date{ // 定义结构体
int year; // 年份
int month[12]; // 月份数组 保存每月所拥有的天数
int day; // 日期
}_date={0,{31,28,31,30,31,30,31,31,30,31,30,31},0}; // 初始化 月份数组含义:1月31天,2月28天,以此类推
int mon,i,days=0; // 初始化局部变量:月份、循环用变量、天数
scanf("%d%d%d",&_date.year,&mon,&_date.day); // 按“年 月 日”的格式从键盘读取3个整数并分别保存
if((!(_date.year%4)&&_date.year%100)||!(_date.year%400)) // 输入的年份是闰年?
_date.month[1]=29; // 2月为29天 [end if]
for(i=0;i<mon-1;i++) // 循环至所输入的月份
days+=_date.month[i]; // 累计计算所输入月之前的总天数 [end for]
days+=_date.day; // 将所输入的天数累加至总天数
printf("%d\n",days); // 打印总天数
}
追问
你做的有一个错啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好的
更多追问追答
追问
帮忙翻译下~谢谢~~~
老师要提问一些细节
追答
你可以下个软件翻一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询