算一算是一年中的第几天
生活随笔
收集整理的這篇文章主要介紹了
算一算是一年中的第几天
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 難度級別:A; 運行時間限制:1000ms; 運行空間限制:51200KB; 代碼長度限制:2000000B |
| 試題描述 |
| ??? 給定一個具體的日期,請你計算出這一天是當年的第幾天。 |
| 輸入 |
| 輸入格式為:year-month-day |
| 輸出 |
| 一個正整數 |
| 輸入示例 |
| 2007-2-3 |
| 輸出示例 |
| 34 |
//============================================================================ // Name : yearday.cpp // Author : judyge // Version : 1.0 // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================#include <iostream> using namespace std;int main() {int index[3];char time[11];cin>>time;int j=0;for(int i=0;i<11;i++) {if(time[i]=='-'||time[i]=='\0'){index[j++]=i;continue;} }int sumy; int summ; int sumd; switch(index[0]) { case 1:sumy=(time[0]-'0'); case 2:sumy=(time[0]-'0')*10+(time[1]-'0'); case 3:sumy=(time[0]-'0')*100+(time[1]-'0')*10+(time[2]-'0'); case 4:sumy=(time[0]-'0')*1000+(time[1]-'0')*100+(time[2]-'0')*10+(time[3]-'0'); }if(index[1]-index[0]==2) { summ=(time[index[1]-1]-'0'); } elseif(index[1]-index[0]==3) {summ=(time[index[0]+1]-'0')*10+(time[index[1]-1]-'0'); }if(index[2]-index[1]==2) { sumd=(time[index[1]+1]-'0'); }else if(index[2]-index[1]==3) {sumd=(time[index[1]+1]-'0')*10+(time[index[2]-1]-'0'); }int sum=0; int m[12]={31,28,31,30,31,30,31,31,30,31,30,12};int n[12]={31,29,31,30,31,30,31,31,30,31,30,12}; if((sumy%4==0&&sumy%100!=0)||sumy%400==0) {for(int k=0;k<summ;k++){sum+=n[k];}sum+=sumd;cout<<sum; } else {for(int k=0;k<summ;k++){sum+=m[k];}sum+=sumd;cout<<sum; }return 0; }
總結
以上是生活随笔為你收集整理的算一算是一年中的第几天的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac ox 10.9 安装eclips
- 下一篇: 铁轨问题 判断是否为出栈顺序