tft每日頭條

 > 生活

 > 表格怎麼一鍵排序

表格怎麼一鍵排序

生活 更新时间:2025-03-19 21:08:37

表格怎麼一鍵排序?有一些日期,日期格式為“MM/DD/YYYY”編程将其按日期大小排列,下面我們就來聊聊關于表格怎麼一鍵排序?接下來我們就一起去了解一下吧!

表格怎麼一鍵排序(日期排序)1

表格怎麼一鍵排序

ICPC--1211: 日期排序題目描述

有一些日期,日期格式為“MM/DD/YYYY”。編程将其按日期大小排列。

樣例輸入

15/12/1999 10/21/2003 10/22/2003 02/12/2004 11/30/2005 12/31/2005

樣例輸出

15/12/1999 10/21/2003 10/22/2003 02/12/2004 11/30/2005 12/31/2005

代碼

#include <iostream> using namespace std; struct Date { char d[20]; }; int if_ear_is_earlier(Date,Date); int year(Date); int month(Date); int day(Date); int wei(char); int main() { const int arsize=6;//數組的大小可自定義 Date date[arsize]; //輸入日期 for(int i=0;i<arsize;i ) { cin>>date[i].d; } //比較大小,用選擇排序法 for(int i=0;i<arsize-1;i ) {// Date ear=date[i]; for(int j=i;j<arsize;j ) if(if_ear_is_earlier(date[i],date[j]))//調用函數,判斷是否date[i]代表的日期更早 ;else { //如果不,則進行數值對換,使date[i]的日期更早 Date t=date[i]; date[i]=date[j]; date[j]=t; } } // cout<<endl; for(int i=0;i<arsize;i ) { cout<<date[i].d<<endl; } return 0; } int if_ear_is_earlier(Date ear,Date date1) { //判斷ear是否比date1早,是則返回1,不是則返回0 //首先比較年份 int year_ear=year(ear);//調用函數,使返回ear所表示的年的值 int year_date1=year(date1); //進行判斷 if(year_ear<year_date1) return 1;else if(year_ear>year_date1) return 0;else { int month_ear=month(ear);//調用函數,比較月份 int month_date1=month(date1); if(month_ear<month_date1) return 1;else if(month_ear>month_date1) return 0;else { int day_ear=day(ear);//調用函數,比較日 int day_date1=day(date1); if(day_ear<day_date1) return 1;else return 0; } } } int year(Date date)//将年份的字符轉換為數字 { return wei(date.d[6])*1000 wei(date.d[7])*100 wei(date.d[8])*10 wei(date.d[9]); //調用wei函數 } int month(Date date)//将月份的字符轉換為數字 { return wei(date.d[0])*10 wei(date.d[1]); } int day(Date date)//将日期的字符轉換為數字 { return wei(date.d[3])*10 wei(date.d[4]); } int wei(char c)//将字符轉換為數字 { int n=c-'0'; return n; }

ICPC--1212: 核電站問題,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved