当前位置: 首页 > wzjs >正文

网站开发一般流程西安网站建设网站排名优化

网站开发一般流程,西安网站建设网站排名优化,室内设计好的大学排名,织梦网站模板官网题目如下: 题目的意思是: 给出一个日期(格式是yy mm dd,注意年份只有两位数),要找出所有可能的真实日期(合法的yyyy-mm-dd格式)。 需要考虑: 年份范围在1960到2059。 输入的yy、mm、…

题目如下: 

 
题目的意思是:

给出一个日期(格式是yy mm dd,注意年份只有两位数),要找出所有可能的真实日期(合法的yyyy-mm-dd格式)。

需要考虑:

年份范围在1960到2059。

输入的yy、mm、dd可能互换,比如02 03 04可以是2002-03-04、2004-03-02、2003-02-04等等,三者顺序可以交换。

按日期从早到晚排序输出。

#include <stdio.h>
#include <stdlib.h>typedef struct {int year, month, day;
} Date;// 判断是否是闰年
int isLeap(int year) {return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
}// 判断日期是否合法
int isValidDate(int year, int month, int day) {if (year < 1960 || year > 2059) return 0;if (month < 1 || month > 12) return 0;int days_in_month[] = {31,28,31,30,31,30,31,31,30,31,30,31};if (isLeap(year)) days_in_month[1] = 29;if (day < 1 || day > days_in_month[month - 1]) return 0;return 1;
}// 比较函数用于排序
int cmp(const void *a, const void *b) {Date *d1 = (Date *)a;Date *d2 = (Date *)b;if (d1->year != d2->year) return d1->year - d2->year;if (d1->month != d2->month) return d1->month - d2->month;return d1->day - d2->day;
}// 检查一个日期是否已经出现过
int isSame(Date *a, Date *b) {return a->year == b->year && a->month == b->month && a->day == b->day;
}int main() {int a[3];scanf("%d%d%d", &a[0], &a[1], &a[2]);Date dates[6]; // 最多6种排列int count = 0;// 枚举所有排列for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if (j == i) continue;for (int k = 0; k < 3; k++) {if (k == i || k == j) continue;int y = a[i], m = a[j], d = a[k];int year = (y >= 0 && y <= 59) ? (2000 + y) : (1900 + y);if (isValidDate(year, m, d)) {Date newDate = {year, m, d};int exist = 0;for (int t = 0; t < count; t++) {if (isSame(&dates[t], &newDate)) {exist = 1;break;}}if (!exist) {dates[count++] = newDate;}}}}}// 排序qsort(dates, count, sizeof(Date), cmp);// 输出for (int i = 0; i < count; i++) {printf("%04d-%02d-%02d\n", dates[i].year, dates[i].month, dates[i].day);}return 0;
}

 程序解析

结构体Date

用来存储一个日期的年、月、日。

闰年判断

如果年份能被400整除,或者能被4整除但不能被100整除,就是闰年。

日期是否合法

年份必须在1960-2059之间。

月份必须在1-12之间。

天数必须不超过该月的最大天数(闰年2月是29天)。

排列所有可能情况

输入的3个数,可以组成3! = 6种不同的排列。

每一种排列都转成一个完整的yyyy-mm-dd格式,然后判断是否合法。

注意避免重复保存相同的日期。

排序输出

用qsort按照年-月-日顺序排序。

最后按标准格式输出,每个日期一行。

输入:

2 3 4 

可能的日期(按排列枚举):

2002-03-04 (合法)

2002-04-03 (合法)

2003-02-04 (合法)

2003-04-02 (合法)

2004-02-03 (合法)

2004-03-02 (合法)

排序后输出:

2002-03-04

2002-04-03

2003-02-04

2003-04-02

2004-02-03

2004-03-02 

运行截图:


文章转载自:

http://4NPJk4wR.zrwLz.cn
http://iAXbjU9n.zrwLz.cn
http://Ei41ZJMC.zrwLz.cn
http://bgE0nXsd.zrwLz.cn
http://Q9a3PTJ5.zrwLz.cn
http://t8KxKjG4.zrwLz.cn
http://qtTqz0vc.zrwLz.cn
http://TIMcQ6QB.zrwLz.cn
http://ty63mkBM.zrwLz.cn
http://i9Sgedyi.zrwLz.cn
http://iM1c3XT4.zrwLz.cn
http://ac56hncw.zrwLz.cn
http://YQyQMAW5.zrwLz.cn
http://tfQqRY20.zrwLz.cn
http://g7DA80R1.zrwLz.cn
http://YXCLvjFA.zrwLz.cn
http://c2gYbURq.zrwLz.cn
http://Aja4icQT.zrwLz.cn
http://oy12eR0U.zrwLz.cn
http://Ovy7MDJv.zrwLz.cn
http://mYxhwohk.zrwLz.cn
http://XHTKadqJ.zrwLz.cn
http://cyVjaWbp.zrwLz.cn
http://rXhKTgFA.zrwLz.cn
http://bc0jAbrc.zrwLz.cn
http://84ozl5hM.zrwLz.cn
http://SeoaAw6n.zrwLz.cn
http://3ACvaqhB.zrwLz.cn
http://7JqsCRMy.zrwLz.cn
http://EmLjyKNr.zrwLz.cn
http://www.dtcms.com/wzjs/770165.html

相关文章:

  • 清徐网站建设wordpress需要授权吗
  • 搜索关键词站长工具企业门户网站建设现状
  • 关于网站建设的外文文献ktv在那些网站做宣传效果好
  • 网站建设-搜遇网络杭州专业做网站
  • 电脑什么网站可以做长图攻略做网站有什么要求
  • 网站建设网站多少钱综合服务门户网站建设
  • wordpress的源代码霸州网站优化
  • 网站开发心得体会门户网站的建立
  • 网站如何建设二级域名代理没有数据怎么做网站
  • 手机上自己如何做网站时事新闻最新消息
  • 秦皇岛手机网站建设医疗网站专题怎样做
  • 网站不同颜色帮人做违法网站
  • 太原网站建设主页做网站挣钱的人
  • 一个网站做多少页面数量合适山西省建设局官方网站
  • 大型医疗网站建设营销型网站建设ppt模板下载
  • 深圳建设工程交易网站网站集约化平台建设分析
  • 网站首页 seo重庆建设工程施工安全网
  • 床上用品网站源码手机网站开发调用照片
  • 手机网站可以做英文版本吗网站中数据库教程
  • 怎么做微网站三栏wordpress主题
  • top的域名网站一流本科专业建设点网站
  • seo网站优化系统新手做网站需要哪些教材
  • 网站自助搭建手机网站二级域名
  • 东丽区网站建设公司河北邯郸网络科技公司有哪些
  • 跨境电商在哪些网站上面做南昌餐厅网站建设
  • 网站建设用啥技术怎么查网站建设时间
  • 婚庆企业网站建设做网站的服务器用什么系统
  • 开网站做彩票赚钱吗陕西专业网站开发多少钱
  • 在英特尔上建设网站可选择的方案有网站建设的感想
  • 用手机建立网站现在能用的网站