30.输入年月日,判断它是该年的第多少天
(1)运用swicth语句
#include<iostream> using namespace std; int main() { int y,m,d; int d1; int sum=0,sum1=0; cout<<"please input year,month,day: "<<endl; cin>>y>>m>>d; if(((y%4==0)&&(y%100!=0))||(y%400==0)) { for(int i=1;i<m;i++) { switch(i) { case 12: d1=31;break;//注意,这里是赋值,而不是判断(不要写成“==”) case 11: d1=30;break; case 10: d1=31;break; case 9: d1=30;break; case 8: d1=31;break; case 7: d1=31;break; case 6: d1=30;break; case 5: d1=31;break; case 4: d1=30;break; case 3: d1=31;break; case 2: d1=29;break; case 1: d1=31;break; default: break; } sum1+=d1; } sum=sum1+d; }else { for(int j=1;j<m;j++) { switch(j) { case 12: d1=31;break; case 11: d1=30;break; case 10: d1=31;break; case 9: d1=30;break; case 8: d1=31;break; case 7: d1=31;break; case 6: d1=30;break; case 5: d1=31;break; case 4: d1=30;break; case 3: d1=31;break; case 2: d1=28;break; case 1: d1=31;break; default: break; } sum1+=d1; } sum=sum1+d; } cout<<"this is the "<<sum<<" day of the "<<y<<endl; return 0; }
(2)运用数组
#include<iostream> using namespace std; int main() { int y,m,d; int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int d1; int sum=0,sum1=0; cout<<"please input year,month,day: "<<endl; cin>>y>>m>>d; if((y%4==0)&&(y%100!=0)||(y%400==0)) { a[2]+=1; for(int i=1;i<m;i++) { sum1+=a[i]; } sum=sum1+d; }else { for(int j=1;j<m;j++) { sum1+=a[j]; } sum=sum1+d; } cout<<"this is the "<<sum<<" day of the "<<y<<endl; return 0; }