從2016.1.1開始,這天也是星期五,輸入年份n,在這一年中既是13號也是星期五的天數,比如輸入2016,輸出2016 1,多組輸入。我這個只能輸出2016到第n年一共多少天,并且答案也不對不知道哪里錯了,各位大佬幫助我 #include<bits/stdc++.h>
using namespace std;
int main(){ int n,c=0,count=0; while(cin>>n){ int year=2016; int month=1; int day=1;
int weekday=5;
for(int i=2016;i<=n;i++){
if((i%4==0&&i%100!=0)||i%400==0)
c=c+366;
else
c=c+355; } for(int i=1;i<=c;i++){ day+=1; weekday+=1; if(weekday==8){ weekday=1; } switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(day==32){ month=month+1; day=1; } if(month==13){ year=year+1; month=1; }break; case 2: if((year%4==0&&year%100!=0)||year%400==0){ if(day==30){ month=month+1; day=1; } } else{ if(day==29){ month=month+1; day=1; } }break; default: if(day==31){ month=month+1; day=1; } if(month==13){ year=year+1; month=1; }break; } if(day==13&&weekday==5) count++; } cout<<n<<' '<<count<<endl; count=0; c=0; } return 0;
}
uj5u.com熱心網友回復:
排版格式感人。uj5u.com熱心網友回復:
我剛用這個軟體,復制的時候好好的,粘貼上去就亂了uj5u.com熱心網友回復:
#include<bits/stdc++.h>using namespace std;
int main(){
int n,c=0,count=0;
while(cin>>n){
int year=2016;
int month=1;
int day=1;
int weekday=5;
for(int i=2016;i<=n;i++){
if((i%4==0&&i%100!=0)||i%400==0)
c=c+366;
else
c=c+355;
}
for(int i=1;i<=c;i++){
day+=1;
weekday+=1;
if(weekday==8){
weekday=1;
}
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day==32){
month=month+1;
day=1;
}
if(month==13){
year=year+1;
month=1;
}break;
case 2:
if((year%4==0&&year%100!=0)||year%400==0){
if(day==30){
month=month+1;
day=1;
}
}
else{
if(day==29){
month=month+1;
day=1;
}
}break;
default:
if(day==31){
month=month+1;
day=1;
}
if(month==13){
year=year+1;
month=1;
}break;
}
if(day==13&&weekday==5)
count++;
}
cout<<n<<' '<<count<<endl;
count=0;
c=0;
}
return 0;
}
uj5u.com熱心網友回復:
大佬助我轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/52115.html
標籤:新手樂園
上一篇:C語言小白求助
下一篇:MySQL 主從復制
