运行出来一直都是0??求调(用二维数组))
查看原帖
运行出来一直都是0??求调(用二维数组))
1189679
Programmer_Wang楼主2023/11/7 00:08
#include<iostream>
using namespace std;

int run(int a);

int main(){
	int x,y,c,d;
	int ans=1;//用于为数组赋值从星期1到7
	int zans=0;//用于输出答案
	int a[3005][367]={0};
	int b[3005][367]={0};
	
	cin>>x>>y;

	for(int i=1900;i<=y;i++){
		
		if(run(i)==1) c=366;//c是指该年天数
		else if(run(i)==0) c=365;
		
		for(int j=1;j<=c;j++){
			a[i][j];
			b[i][j];
		}
	}
	
	if(c==366) d=316;//d是指每年11月1号是该年的第多少天
	else if(c==365) d=315;
	
	for(int i=1900;i<=y;i++){
		
		if(run(i)==1) c=366;
		else if(run(i)==0) c=365;
		
		for(int j=1;j<=c;j++){
			if(a[i][j]!=0){
				if(ans>7) ans=1;
				a[i][j]=ans;
				ans++;
			}
		}
	}//这个for用于给数组赋值星期1到7
	
	for(int i=x;i<=y;i++){
		
		if(run(i)==1) c=366;
		else if(run(i)==0) c=365;
		
		for(int j=1;j<=c;j++){
			if(a[i][j]==6 || a[i][j]==7){
				
				if(c==366) d=316;
				else if(c==365) d=315;
				
				if(b[i][j]==d) zans++;//找到第315天或316天,且星期6或7,计算有多少个
			}
		}
	}
	
	cout<<zans;
	
	return 0;
	
}

int run(int a){
	
	if((a%4==0)&&((a%100!=0)||(a%400==0))){
		return 1;
	}
	else{
		return 0;
	}
	
}

(我知道还有别的法但、但用二维数组怎么做?) 帮助必关! 若看不懂我整的代码,请追问!急急急!

2023/11/7 00:08
加载中...