输入某年某月某日,判断这一天是这一年的第几天?(哈希算法)
2014-12-08 08:55
351 查看
问题:
输入某年某月某日,判断这一天是这一年的第几天?
代码:
第一种(比较好想的)
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int Year, Month, Day;
cout<<"请输入年: 月: 日:"<<endl;
scanf("%d %d %d", &Year, &Month, &Day);
if((Year % 4 == 0 && Year % 100 != 0 && Year %400) || (Year% 400) == 0)
{
switch(Month)
{
case 1:
printf("所输入的日期是这一年的第 : %d 天\n", Day);
break;
case 2:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31);
break;
case 3:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29);
break;
case 4:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31);
break;
case 5:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 30);
break;
case 6:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 31);
break;
case 7:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30);
break;
case 8:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31);
break;
case 9:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31 + 31);
break;
case 10:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31 + 31 + 30);
break;
case 11:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31 + 31 + 30 + 31);
break;
case 12:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31 + 31 + 30 + 31 + 30);
break;
}
}
else
{
switch(Month)
{
case 1:
printf("所输入的日期是这一年的第 : %d 天\n", Day);
break;
case 2:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31);
break;
case 3:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28);
break;
case 4:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31);
break;
case 5:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 30);
break;
case 6:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 31);
break;
case 7:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30);
break;
case 8:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31);
break;
case 9:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31 + 31);
break;
case 10:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31 + 31 + 30);
break;
case 11:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31 + 31 + 30 + 31);
break;
case 12:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31 + 31 + 30 + 31 + 30);
break;
}
}
return 0;
}
第二种哈希算法:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n, year, month, day, sum, month_day_sum = 0;
int month_day[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
cout<<"请输入年,月, 日:"<<endl;
cin>>year>>month>>day;
if(year % 100 != 0 && year % 4 == 0 || year % 400 == 0)
month_day[2] = 29;
else
{
for(n = 1; n < month; n++)
{
month_day_sum += month_day
;
}
sum = month_day_sum + day;
cout<<sum;
}
getchar();
return 0;
}
输入某年某月某日,判断这一天是这一年的第几天?
代码:
第一种(比较好想的)
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int Year, Month, Day;
cout<<"请输入年: 月: 日:"<<endl;
scanf("%d %d %d", &Year, &Month, &Day);
if((Year % 4 == 0 && Year % 100 != 0 && Year %400) || (Year% 400) == 0)
{
switch(Month)
{
case 1:
printf("所输入的日期是这一年的第 : %d 天\n", Day);
break;
case 2:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31);
break;
case 3:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29);
break;
case 4:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31);
break;
case 5:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 30);
break;
case 6:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 31);
break;
case 7:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30);
break;
case 8:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31);
break;
case 9:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31 + 31);
break;
case 10:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31 + 31 + 30);
break;
case 11:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31 + 31 + 30 + 31);
break;
case 12:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 29 + 31 + 30 + 31 + 31 + 30 + 31 + 30);
break;
}
}
else
{
switch(Month)
{
case 1:
printf("所输入的日期是这一年的第 : %d 天\n", Day);
break;
case 2:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31);
break;
case 3:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28);
break;
case 4:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31);
break;
case 5:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 30);
break;
case 6:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 31);
break;
case 7:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30);
break;
case 8:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31);
break;
case 9:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31 + 31);
break;
case 10:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31 + 31 + 30);
break;
case 11:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31 + 31 + 30 + 31);
break;
case 12:
printf("所输入的日期是这一年的第 : %d 天\n", Day + 31 + 28 + 31 + 30 + 31 + 31 + 30 + 31 + 30);
break;
}
}
return 0;
}
第二种哈希算法:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n, year, month, day, sum, month_day_sum = 0;
int month_day[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
cout<<"请输入年,月, 日:"<<endl;
cin>>year>>month>>day;
if(year % 100 != 0 && year % 4 == 0 || year % 400 == 0)
month_day[2] = 29;
else
{
for(n = 1; n < month; n++)
{
month_day_sum += month_day
;
}
sum = month_day_sum + day;
cout<<sum;
}
getchar();
return 0;
}
相关文章推荐
- 输入某年某月某日,判断这一天是这一年的第几天?(闰年)思路与代码
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是一年的第几天 的三种方式
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天(java)
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天(java代码)
- 输入某年某月某日,判断这一天是这一年的第几天?
- ★输入某年某月某日,判断这一天是这一年的第几天? C/C++
- 输入某年某月某日,判断这一天是这一年的第几天
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天?考虑闰年的情况
- 输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天?