计算对称日

计算x年到y年之间的对称日

思路:

先判断每年是不是闰年,然后计算每年每月每天,再将年月日三个数连在一起,进行判断是不是对称日,再输出这一天,在循环中设置变量来求和。

代码:

#include<stdio.h>
int main(){
	int x,y,year=0,month=0,day=0;
	int m=0,n=0,j=0,a=0,b=0,c=0,t=0;
	scanf("%d%d",&x,&y);
	for(year=x;year<=y;year++){
		for(m=0,month=1;month<13;month++){
					if(year%4==0&&year%100!=0||year%400==0){
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
						m=31;
					}
					else if(month==4||month==6||month==9||month==11){
						m=30;
					}
					else if(month==2){
						m=29;
					}
					}
					else{
						if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
						m=31;
					}
					else if(month==4||month==6||month==9||month==11){
						m=30;
					}
					else if(month==2){
						m=28;
					}
					}
			for(n=0,day=1;day<=m;day++){
				n=year*10000+month*100+day;
				t=n;
			for(j=0,c=0;j<8;j++){
				c=c*10+t%10;
				t=t/10;
			}
				if(n==c){
					a++;
					printf("%d年%d月%d日 ",year,month,day);
				}
			}

			}
		}

	printf("\n总共有%d天",a);
	return 0;
}

上一篇:操作符这块,你可得把握住(下)


下一篇:记录:JS获取当前年、月、日、时、分、秒