Problem Description

输入一个用年月日表示的日期,求该日期是该年的第几天。输入某年的第几天,输出这一天是该年的几月几号,茂茂解不出,需要你的帮助。

Input

开始有个整数k,表示询问的种类,如果k=1,后面有三个合法的整数a,b,c,表示输入的年月日,此时输出该日期是该年的第几天;如果k=2,后面有两个合法的整数a,b,求a年的第b天的日期。保证所有的输入合法。

Output

对于询问1,输出一个整数表示是该年的第几天。 对于询问2,输出年月月,格式为****/**/** 如2013/09/07

Sample Input

2 2013 70
1 2013 3 1
1 2000 3 1

Sample Output

2013/03/11
60
61 我的代码:
 #include <stdio.h>

 int main()
{
struct mydata
{
int year;
int month;
int day;
} date;
int days,month[]={,,,,,,,,,,,,};
int dyas[]={,,,,,,,,,,,,};
int dyas1[]={,,,,,,,,,,,,};
int sw,yera,dya,mon=-,d,i;
while(scanf("%d",&sw)!= EOF)
{
if(==sw)
{
days=;
scanf("%d%d%d",&date.year,&date.month,&date.day);
int i;
for(i=;i<date.month;i++)
days+=month[i];
days+=date.day;
if((date.year%==&&date.year%!=)||(date.year%==))
if(date.month>=)
days++;
printf("%d\n",days);
}
if(==sw)
{ scanf("%d%d",&yera,&dya);
if((yera%==&&yera%!=)||(yera%==))
{
for(i=;i<;i++)
{
if(dyas[i]>dya)
{
mon=i;
d=dya-dyas[i-];
break;
}
else if(dyas[i]==dya)
{
mon=i;
d=month[i];
if(mon==)
d++;
break;
}
}
}
else
{
for(i=;i<;i++)
{
if(dyas1[i]>dya)
{
mon=i;
d=dya-dyas1[i-];
break;
}
else if(dyas1[i]==dya)
{
mon=i;
d=month[i];
break;
}
} }
printf("%04d/%02d/%02d\n",yera,mon,d);
} } return ;
}

其他代码:

 #include <iostream>

 using namespace std;
int isRN(int y)
{
if((y%==&&y%!=)||y%==)
{
return ;
}
return ;
}
int a[][]={{,,,,,,,,,,,,},{,,,,,,,,,,,,}};
int main()
{
int n;
int y,m,d;
int s;
int flag;
while(cin>>n)
{ s=;
if(n==)
{
cin>>y>>m>>d;
flag=isRN(y);
for(int i=;i<m;++i)
{
s+=a[flag][i];
}
s+=d;
cout<<s<<endl;
}
else if(n==)
{
cin>>y>>s;
flag=isRN(y);
m=;
do{
s-=a[flag][++m];
}while(s>);
d = s+a[flag][m];
if(m>=)
{
cout<<y<<"/"<<m<<"/"<<d<<endl;
}
else
{
cout<<y<<"/0"<<m<<"/"<<d<<endl; } } }
return ;
}

武汉科技大学ACM :1010: 华科版C语言程序设计教程(第二版)例题7.8的更多相关文章

  1. 武汉科技大学ACM:1009: 华科版C语言程序设计教程(第二版)习题5.12

    Problem Description 这天老师照例给小豪出了一道题目:老师给小豪一个字符串,让小豪将该字符串逆序输出. Input 第一行包括一个T,表示有多少组测试数据: 接下来T行,每行包括一个 ...

  2. 武汉科技大学ACM:1006: 华科版C语言程序设计教程(第二版)例题4.17

    Problem Description 输入一个整数,求它的素数因子.并按照格式输出. Input 一个整数n.(2<=n<=100) Output n=a*b*c*... (a,b,c为 ...

  3. 武汉科技大学ACM:1005: 华科版C语言程序设计教程(第二版)例题5.8

    Problem Description 老师给小豪出了一道题目:给你两个整数x和n(-10<=x<=10,1<=n<=10),让你求出x^1+x^2+x^3+……+x^n的结果 ...

  4. 武汉科技大学ACM:1004: 华科版C语言程序设计教程(第二版)习题5.6

    Problem Description 这天老师又给小豪出了一道题目:给你三根长度分别为a,b,c的火柴,让你计算这三跟火柴能组成的三角形的面积. Input 输入每行包括三个数a,b,c. Outp ...

  5. 武汉科技大学ACM:1003: 华科版C语言程序设计教程(第二版)例题6.6.改编

    Problem Description 小明明最喜欢学英语了,英语课从来不翘课,但是英语却一直没学好,因为上课一直在睡觉.为什么会睡觉呢,因为他觉得英文单词太长了.现在小明明有一个很长很长很长的单词, ...

  6. 武汉科技大学ACM:1002: 华科版C语言程序设计教程(第二版)例题6.6

    Problem Description 明天就要英语考试了,小明明正在挑灯夜 战背单词.小明明发现单词很难背,背一个忘一个.经过仔细研究,小明明发现单词难背的原因是因为某个字符的出现,破坏了整个单词的 ...

  7. 武汉科技大学ACM:1001: 华科版C语言程序设计教程(第二版)习题6.7

    Problem Description 输出杨辉三角前n行. Input 输入一个数n(n <= 9) Output 输出杨辉三角前n行.(注意行末不能有多余的空格,数字以%3d的格式输出) S ...

  8. 武汉科技大学ACM :1009: 华科版C语言程序设计教程(第二版)习题6.11

    Problem Description n个人围成一圈,依次从1至n编号.从编号为1的人开始1至k报数,凡报数为k的人退出圈子,输出最后留下的一个人原来的编号. Input 首先输入一个t,表示有t组 ...

  9. 武汉科技大学ACM :1008: 华科版C语言程序设计教程(第二版)习题6.14

    Problem Description 输入一个八进制的字符串,将它转换成等价的十进制字符串,用pringf的%s格式输出. Input 首先输入一个正整数t,表示有t组测试数据(1<= t & ...

随机推荐

  1. 【Linux】 任务调度/计划 cron

    实时查看日志: tail -f /var/log/cron 显示任务调度 bash#crontab -u username -l 编辑 bash#crontab -u username -e 内容: ...

  2. Linux下动态链接库和静态链接库

    第一部分:编译过程 先了解一下linux下C代码的编译过程,C代码的编译,一般分成四个阶段,包括:预编译,编译,汇编和链接,这四个阶段的分工是 预处理过程,负责头文件展开,宏替换,条件编译的选择,删除 ...

  3. 转: pthread_detach()函数

    创建一个线程默认的状态是joinable. 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码). 所以创建线程者应该调 ...

  4. 转:【创龙TMS320C6748开发板试用】相关软件的安装与基本设置+CCS安装失败分析

    http://bbs.elecfans.com/jishu_542000_1_1.html

  5. Windows 中默认安装的.Net 版本

    Windows contains a version of .NET by default. Here's a listing of them. XP .NET v1.0 -- Service pac ...

  6. java中Runnable接口含义

    Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口. Runnable接口非常简单,就定义了一个方法run(),继承Runnable并实现这个 方法就可以实现多线程了,但是 ...

  7. HDOJ(HDU) 1491 Octorber 21st

    Problem Description HDU's 50th birthday, on Octorber 21st, is coming. What an exciting day!! As a st ...

  8. Java框架学习之Hibernate入门

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDB ...

  9. flume-agent实例

    flume    多种适配,多样化的数据收集    核心概念        event:一条消息        client:访问者        agent:            重要组件Sour ...

  10. Java学习笔记(1)——基本数据类型

    一.进制转换 10^n被称为权  10称为基数   计算机中正数和负数的关系是取反加一, 如: ~3+1=-3 补码边界运算有溢出风险 32位二进制补码最多表示2^32个数, -2G~2G 1,计算机 ...