2017年4月21日華為筆試題 日期的天數序號
阿新 • • 發佈:2019-02-03
題目:
這個題目真的挺坑的,明明這麼簡單的題目,提交一直不對,還好我有一定的ACM經歷,有幾次碰到過這種情況,最後把最後的點刪掉就可以了
程式碼:
#include <iostream>
using namespace std;
bool r(int year)//第year年是不是閏年
{
if (year % 4)return false;
if (year % 100)return true;
return year % 400 == 0;
}
int main()
{
int day[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30 , 31, 30, 31 };
int y, m, d, s;
char c;
cin >> y >> c >> m >> c >> d;
if (r(y))day[2]++;
if (y <= 0 || y >= 10000 || m <= 0 || m > 12 || d <= 0 || d > day[m])
cout << "invalid input";
else
{
s = d;
for (int i = 1; i < m; i++)s += day[i];
printf ("%d-%d-%d is the No.%d day of %d",y,m,d,s,y);
}
return 0;
}