//把年月日分割成三个字符串,再转化为三个整数然后求解 #include <iostream> #include <cstdlib> #include <cmath> #include <deque> #include <algorithm> #include <numeric> #include <iterator> #include <sstream> #include <iomanip> #include <vector> #include <string.h> #include <string> using namespace std; void fun(string str, char ch,deque<string> &q) { stringstream ss(str); string s; while(getline(ss,s,ch)) { q.push_back(s); } } int main() { deque<int> p; deque<string> q; string str; while(cin>>str) { fun(str,'/',q); int x,y,z; int sum=0; int month[12]={31,28,31,30,31,30,31,31,30,31,30,31}; stringstream ss,sss,ssss; ss<<q[0]; ss>>x; if((x%400==0)||(x%4==0&&x%100!=0)) { month[1]=29; } sss<<q[1]; sss>>y; for(int i=0;i<y-1;i++) { sum+=month[i]; } ssss<<q[2]; ssss>>z; sum+=z; p.push_back(sum); q.clear(); } copy(p.begin(),p.end(),ostream_iterator<int>(cout,"\n")); return 0; }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
C语言训练-求PI* (C语言代码)浏览:614 |
【计算直线的交点数】 (C语言代码)浏览:1449 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:587 |
水仙花 (C语言代码)浏览:1051 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:562 |
打印十字图 (C语言代码)浏览:2708 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:486 |
字符串比较 (C语言代码)浏览:681 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:467 |