mooc中习题--计算天数

7-19 计算天数(15 分)
本题要求编写程序计算某年某月某日是该年中的第几天。


输入格式:


输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。


输出格式:


在一行输出日期是该年中的第几天。


输入样例1:


2009/03/02
输出样例1:


61
输入样例2:


2000/03/02
输出样例2:


62




我的程序:


#include<stdio.h>
int main()
{
int year,month,day;
scanf("%d/%d/%d",&year,&month,&day);
int Jan=31;
int Feb=28;
int Mar=31;
int Api=30;
int May=31;
int Jun=30;
int Jul=31;
int Aug=31;
int Spe=30;
int Oct=31;
int Nov=30;
int Dec=31;
//是否是闰年
int a,b;
a=year%4;
b=year%100;
int c=year/400;
     if(((a==0)&&(b!=0))||c==0) 
{Feb++;
}
//

int ordinal;
switch(month){
case 1:
ordinal=day;
break;
case 2:
ordinal=Jan+day;
break;
case 3:
ordinal=Jan+Feb+day;
break;
case 4:
ordinal=day+Feb+Mar+Jan;
break;
case 5:
ordinal=day+Feb+Mar+Api+Jan;
break;
case 6:
ordinal=day+Jan+Feb+Mar+Api+May;
break;
case 7:
ordinal=day+Jan+Feb+Mar+Api+May+Jun;
break;
case 8:
ordinal=day+Jan+Feb+Mar+Api+May+Jun+Jul;
break;
case 9:
ordinal=day+Jan+Feb+Mar+Api+May+Jun+Jul+Aug;
break;
case 10:
ordinal=day+Jan+Feb+Mar+Api+May+Jun+Jul+Aug+Spe;
break;
case 11:
ordinal=day+Jan+Feb+Mar+Api+May+Jun+Jul+Aug+Spe+Oct;
break;
default:
ordinal=day+Jan+Feb+Mar+Api+May+Jun+Jul+Aug+Spe+Oct+Nov;
break;
}printf("%d\n",ordinal);
return 0;
 } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
战德臣数据库MOOC模拟练习题解析主要是对数据库相关知识的应用和理解进行考察和分析。这些题目旨在帮助学生巩固和加强对数据库概念、操作和优化的认识和应用能力。 解析这些练习题,首先需要对题目进行仔细阅读和理解。了解题意后,根据问题的要求,运用数据库知识进行建模、查询或优化等方面的操作。 对于涉及数据库建模的题目,需要根据题目描述,设计合适的数据库结构,包括表的数量、字段及其数据类型,以及表与表之间的关系。同时,要注意保证数据库的范式,避免冗余数据和数据一致性问题的出现。 对于查询题目,需根据题目描述,编写合适的SQL语句进行查询。要注意查询条件和字段选择的准确性,以及查询结果的正确性。相关知识点包括:SELECT语句的使用、连接操作、条件筛选、排序、分组、聚合函数等。 对于性能优化题目,需根据题目描述,分析数据库操作的瓶颈,提出相应的优化方案。可以从索引优化、查询语句优化、表结构优化等方面进行思考和答题。 在解析这些练习题时,需要熟悉数据库的相关概念和操作技巧,如关系型数据库管理系统(例如MySQL、Oracle等)的使用,SQL语言的基本语法和常用操作等。同时,还需了解数据库的设计原则、范式理论、查询优化技巧、索引设计等内容。 通过解析这些练习题,可以提高对数据库知识的理解和应用能力,进一步夯实数据库相关的基础知识,为后续的数据库开发和管理工作打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值