南阳理工OJ_日期计算

/*  
* 程序的版权和版本声明部分:  
* Copyright (c) 2013,郑州大学SIAS国际学院    
* 作    者:  王  杰
* 完成日期:2013 年 11 月 13 日  
*  
* 对任务及求解方法的描述部分:
* 输入描述: 略或见注释、总结
* 问题描述: 略或见注释、总结
* 程序输出: 略或见注释、总结
* 问题分析: 略或见注释、总结
* 算法设计: 略或见注释、总结
*/
#include<stdio.h>
int main()
{
	int n;
	int year,mon,day;
	int a,i,p,j;
	scanf("%d",&n);
	while(n--){
		scanf("%d%d%d",&year,&mon,&day);
		p=0;
		i=1;
		j=8;
		if(mon<=8){
			while(i<mon && mon<=8){
				if(i%2!=0)
					p+=31;
				if(i==2)
					p+=28;
				if(i%2==0 && i!=2)
					p+=30;
				i++;
			}
			p+=day;
			if(year%4==0 && year%100!=0 || year%400==0 && i>1)
				printf("%d\n",p+1);
			else
				printf("%d\n",p);
		}
		else{
			while(j<mon && mon<=12){
				if(j%2!=0)
					p+=30;
				if(j%2==0)
					p+=31;
				j++;
			}
			p+=day;
			if(year%4==0 && year%100!=0 || year%400==0)
				printf("%d\n",p+213);
			else
				printf("%d\n",p+212);

		}
	}
	return 0;
}


运行结果:


总结:算法虽然是正确的,但是有点复杂了。有时间了再重新设计一个算法,今天先就这样吧,这几天重点是其他学习,AC就先稍微的放放,慢慢的做一道算一道吧。加油!干吧得!     出现错误了,要有找出错误,并给出解决方案的能力。没有发挥表达式的作用........       没有用到数组        有些语句还没有真正的掌握..............

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值