编写一个程序,只要输入年月日,就能回答那天是星期几。

输入一个日期,包括年、月、日。(一组测试数据)

输出这个日期是星期几。

输入:

1 1 1
2 1 1
2006 7 10
输出:
Monday
Tuesday
Monday
代码:
//====================================================
//名称:计算生日是星期几(0078)
//作者:郭成涛
//时间:2015-11-22
//简介:编写一个程序,只要输入年月日,就能回答那天是星期几。
//====================================================
#include<stdio.h>
int main()
{
int mon[]={,,,,,,,,,,,};
int y,m,d,i,sum=,j=;
scanf("%d%d%d",&y,&m,&d);
for(i=;i<y;i++)//从1年到当前年,计算总天数
{
sum=sum+;
if((i%==&&i%!=)||i%==)
{
sum++;
}
}
for(i=;i<m-;i++)//后面还要加天数,所以少算一个月
{
sum=sum+mon[i];
if(m>&&(y%==&&y%!=)||y%==)
sum++;
}
sum=sum+d; //计算天
j=sum%;
switch(j)
{
case :printf("Sunday\n");break;
case :printf("Monday\n");break;
case :printf("Tuesday\n");break;
case :printf("Wednesday\n");break;
case :printf("Thursday\n");break;
case : printf("Friday\n");break;
case : printf("Saturday\n");break;
}
return ;
}

换一种方式:

#include <stdio.h>
int main()
{
int y, m, d, i;
int year, day;
int month[] = {, , , , , , , , , , , , };
char week[][] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
while (scanf("%d %d %d", &y, &m, &d) == ){
year = ;
day = d;
while (year < y){
day += year%==||(year%==&&year%!=) ? : ;
year++;
}
if (y%==||(y%==&&y%!=)) month[] = ;
else month[] = ;
for (i=; i<m; i++)
day += month[i];
printf("%s\n", week[day%]);
}
return ;
}

计算生日是星期几-soj的更多相关文章

  1. C#根据身份证号码,计算生日、年龄、性别

    朋友谈及身份证相关的信息,才了解到原来省份证号码中包含了年龄和性别. 这样在数据库中,就不必单独留字段存放它们了(不过,要根据具体情况来,要是读取频率较高,还是单独列出为好),这样顺带解决了年龄变更的 ...

  2. python 根据生日计算年龄 sqlalchemy根据身份证号计算生日 性别

    import datetime '): birth_d = datetime.datetime.strptime(birth_s, "%Y%m%d") today_d = date ...

  3. PostgreSQL 当月最后一天的工作日 , 计算日期是星期几

    可以用pg自带函数select extract(dow from current_date),之所以没用主要是展示一下通过数学方法计算日期的原理. drop function if exists ge ...

  4. mysql 计算生日

    生日(DATE) 计算方法1: YEAR(CURDATE())-YEAR(birthday)-(RIGHT(CURDATE(),5)<RIGHT(birthday,5)) 计算方法2: year ...

  5. 如何用Python写一个每分每时每天的定时程序

    1.计算生日是星期几 当你女朋友要过生日了,你肯定要定找家饭店订个餐庆祝一下,餐馆工作日会空一些,周末位置不好定,要是能知道她的生日是星期几就好了,下面这个程序就能搞定~~ 比如girl friend ...

  6. 08--MOOC--C/C++ 根据年月日计算星期几

    计算任何一天是星期几的几种算法 一:常用公式 W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这一天在这一年中的累积天数,也 ...

  7. 计算xx年xx月xx日是星期几

    代码: #include <iostream> #include <string> #include <vector> using namespace std; i ...

  8. 第七届蓝桥杯javaB组真题解析-生日蜡烛(第二题)

    题目 /* 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始 ...

  9. oracle 计算时间差

    1.计算时间差(相隔星期,天数,小时,分钟,秒) SELECT TO_CHAR(date1,'MMDDYYYY:HH24:MI:SS') date1, TO_CHAR(date2,'MMDDYYYY: ...

随机推荐

  1. Nginx功能展示实验

    Nginx功能展示实验 Nging可以作为反代服务器:也可以作为负载均衡器,并自带根据对后端服务器健康状态检测具有增删服务器的功能:也可以作为纯Web服务器,提供Web服务. 本实验将使用Nginx实 ...

  2. 符合语言习惯的Python优雅编程技巧

    Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净.整洁.一目了然.要写出 Pythonic(优雅的.地道的.整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀 ...

  3. JavaAPI 中 <E> 与 <T> 的含义

    今天看集合的代码,发现在泛型的使用时的区别,Collection<E>.List<E>,而Iterator<T>,那么<E>和<T>含义有什 ...

  4. java springmvc+bui+bootstrap后台管理系统搭建

    先来说说bui,这个框架是阿里巴巴的一个前端团队研发的,能够用很少的代码快速搭建一个后台管理系统,很适做管理平台的开发, 之前用过类似这样的框架extjs,做个比较,这个框架实现功能比extjs的代码 ...

  5. js 短信倒计时60s

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Coredata中的多线程

    =================== 疑问: 1.coredata是什么?结构 2.如果在简单的demo中,我们可以在主线程中使用coredata.但是如果在真正的大项目中,这样可行么? 3.假设都 ...

  7. css是如何实现在页面文字不换行、自动换行、强制换行的

    强制不换行 div{ white-space:nowrap; } 自动换行 div{ word-wrap: break-word; word-break: normal; } 强制英文单词断行 div ...

  8. 使用bower init创建bower.json文件

    使用bower init 可以快速创建bower.json文件 bower init 回答一系列问题后就可以了,其中大部分问题可以按enter跳过.

  9. 安装jdk时出现java -version权限不够问题

    今天在ubuntu上安装jdk的时候,最后测试java -version总是不行,出现了 bash: /home/jdk1.7.0_25/bin/java: 权限不够的问题 百度之后,在http:// ...

  10. poj 3662 Telephone Lines

    Telephone Lines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7115   Accepted: 2603 D ...