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

怎么用自己的电脑做网站主机科威网络做网站怎么样

怎么用自己的电脑做网站主机,科威网络做网站怎么样,方法网站目录,万网怎么建立网站问题描述:小明正在整理一批文献,这些文献中出现了很多日期,小明知道这些日期都在1960年1月1日至2059年12月31日之间,令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日…

问题描述:小明正在整理一批文献,这些文献中出现了很多日期,小明知道这些日期都在1960年1月1日至2059年12月31日之间,令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的,更加麻烦的是年份都省略了前两位,使得文献上的一个日期存在很多可能的日期与其对应。

例如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。

程序输入格式:AA/BB/CC(0<=A,B,C<=9)

输出格式:输出若干个不相同的日期,每个日期一行格式是:''yyyy-mm-dd''多个日期按从早到晚的顺序排列。

分析:本题的思路很简单,将输入的三个数据分别进行年,月,日的合法判断,如果合法就输出,但是求解本题要注意以下两点。

(1)月份数据的表示

由于每月的天数没有规律性,所以最好的方法就是利用数组将每月的天数表示出来,如:

int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

这里还要注意闰年问题,如果是闰年,则二月的数据就会不同,可以采用另一个数组存储

如:int leapdays[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};

(2)合法年/月/日的存储

对于一组数据可能会出现重复的合法年/月/日。例如:01/01/01,这三组合法数据都是2001/01/01,所以这要进行去重。

去重时,可以采用直接判断三组数据是否相等的方法,也可以利用C++ STL中的set容器进行自动去重。

用C语言: 

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int days[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };//不是闰年的时候
int leapdays[13] = { 0,31,29,31,30,31,30,31,31,30,31,30,31 };//是闰年的时候
int data[4][4];//用来存放日期
int i;//用于数组的序号 
int leapyear(int year)//判断是否是闰年
{if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){return 1;}else{return 0;}
}
void check(int y, int m, int d)
{if (y >= 60)//年份的后两位大于60,说明应该是19年开头{y = 19 * 100 + y;}else//否则是20年开头{y = 20 * 100 + y;}if (m > 12)return;if(leapyear(y))//判断是否是闰年,采用对应的数组{if(leapdays[m]<d)return;}else{if(days[m]<d)return;}if (i > 0)//进行去重处理{for (int j = 0; j < i; j++){if (data[j][0] == y && data[j][1] == m && data[j][2] == d)//判断日期是不是合法 return;}}data[i][0] = y;data[i][1] = m;data[i][2] = d;i++;
}int main()
{int a, b, c, e, f, g;int d[3];i = 0;scanf("%d/%d/%d", &a, &b, &c);check(a, b, c);//分别互换日期查看是否成立check(c, a, b);check(c, b, a);for (int j = 0; j < i; j++){d[j] = data[j][0] * 10000 + data[j][1] * 100 + data[j][2];}for (int m = 0; m < i; m++)//按从早到晚的顺序排列{for (int n=0; n < i - 1 - m; n++){if (d[n] > d[n + 1]){int tmp = d[n];d[n] = d[n + 1];d[n + 1] = tmp;}}}for (int j = 0; j < i; j++)//打印{e = d[j] / 10000;f = (d[j] / 100) % 100;g = d[j] % 100;printf("%d-%02d-%02d\n", e, f, g);}return 0;
}

用C++:

#include<bits/stdc++.h>
using namespace std;
struct date  //定义一个结构体存放日期
{ int year;int month;int day;
}que[4];
int s=0; //用于结构体的序号 
int cmp(date x,date y);//比较函数sort的参数,定义了怎样排序 
int leapyear(int year);//用于判断是不是闰年 
int judge_date(int year,int month,int day);//判断日期是不是合法 
void judge(int year,int month,int day);//主要调用上面函数,把日期存进数组 void judge(int year,int month,int day)
{int flag=1; //标记日期是否重复 if(year>=60)//年份的后两位大于60,说明应该是19年开头year = 19* 100 + year;else year = 20* 100 + year;if(judge_date(year,month,day)){   //如果日期合法 for(int i=0;i<s;i++){    //判断结构体中是否已经存在相同的日期 if(que[i].day==day&&que[i].month==month&&que[i].year==year){   flag=0;break;}}if(flag){   //如果没有相同的日期就存进结构体中 que[s].year=year;que[s].month=month;que[s].day=day;s++;}}	
}int judge_date(int year,int month,int day) //判断日期是否合法 
{  int sum;switch(month) //判断输入的月份一共有多少天,和输入的天数比较 {  case 1: case 3: case 5: case 7: case 8: case 10: case 12:sum=31;break;case 4:case 6: case 9: case 11:sum=30;break;case 2:sum=28;break;}if(month==2&&leapyear(year))sum=29;if(sum>=day&&day>0&&month>=1&&month<=12) //如果天数小于该月总天数,且大于0,月份也在1~12,则合法 return 1; elsereturn 0;
}int leapyear(int year)
{   //判断是否闰年 if(year%4==0 && year%100!=0 || year%400==0)return 1;elsereturn 0;
}int cmp(date x,date y)
{   //比较函数 if(x.year<y.year) //年份按递增排序 return 1;else if(x.year==y.year) {   //如年份相同,比较月份 if(x.month<y.month)return 1;else if(x.month==y.month) //如月份相同,比较天数 {  if(x.day<y.day)return 1;}}return 0;
} 
int main()
{int a,b,c;scanf("%d/%d/%d",&a,&b,&c);judge(a,b,c);//分别把日期换位置,看是否合法judge(c,a,b);judge(c,b,a);sort(que,que+s,cmp);//按从早到晚的顺序排列 for(int i=0;i<s;i++)//输法日期 printf("%d-%02d-%02d\n",que[i].year,que[i].month,que[i].day);return 0;
}

http://www.yayakq.cn/news/845727/

相关文章:

  • 执法局网站建设目的手机网页及网站设计 pdf
  • 做网站导航cms创意产品网站
  • 有哪些推广网站滨海新区建设网站
  • 郑州网站模板如何建一个企业网站
  • 怎么查找网站建设建设网站查询余额
  • 手机建站cms网站建设对于企业的重要性
  • 在线商城网站制作域名注册方法
  • 中山市城乡住房建设局网站北京物流网站建设
  • 如何查看网站是否开启gzip做网站ps笔记本电脑
  • 建设网站一定要电脑吗建设工程质量检测管理办法
  • 网站建设项目考察范文wordpress 去掉分类
  • 想做网站运营专员网站开发的软件环境
  • 为什么会显示危险网站公司官网制作多少钱
  • 乐清做网站的网站建设论文二稿
  • 网站短链接生成seo网络推广培训班
  • 网站开发的功能需求和模块划分记事本做网站插图片
  • 网站和域名的区别如何安装网站模板文件
  • 网站采集注意百度站长平台开绿色收录通道加快网站收录
  • 网站建设找星火龙seo点击软件排名优化
  • 两个男性做网站深圳网站建设公司元
  • 免费asp网站空间做外贸的专业网站
  • 做网站的软件dw网站后台别人制作
  • 生成链接的网站网站建设 南京
  • 做用户名验证的网站服务器网站开发公司杭州网站建设
  • 搜索引擎网站推广如何优化甘肃网络推广技巧
  • 免费网站推广网址怎么看网站是什么时候做的
  • 天津网站建设服务电话深圳建站公司专业公司
  • 广东网站建设方案报价网页设计费用一般收多少合适
  • wordpress怎么增加菜单重庆seo网站策划
  • 定做网站多少钱网站后缀