Discuz! Board

 找回密码
 立即注册
查看: 318|回复: 3

10.21

[复制链接]

51

主题

54

帖子

8724

积分

论坛元老

Rank: 8Rank: 8

积分
8724

大牙狸 Lv:12
发表于 2022-10-21 20:01:52 | 显示全部楼层 |阅读模式
  1. #include<bits/stdc++.h>
  2. #include <windows.h>
  3. using namespace std;
  4. int n;
  5. string b;
  6. struct tim
  7. {
  8.         string y;
  9.         string m;
  10.         string d;
  11. }z[100];
  12. bool cmp(tim a,tim b)
  13. {
  14.         if(a.y!=b.y)
  15.         {
  16.                 return a.y>b.y;
  17.     }
  18.     if(a.m!=b.m)
  19.         {
  20.                 return a.m>b.m;
  21.         }
  22.         else
  23.         {
  24.                 return a.d>b.d;
  25.         }
  26. }
  27. int main()
  28. {
  29.         cin>>n;
  30.         for(int i=0;i<=n;i++)
  31.         {
  32.                 cin>>b;
  33.                 z[i].m=b.substr(0,2);
  34.                 z[i].d=b.substr(3,2);
  35.                 z[i].y=b.substr(6,4);
  36.         }
  37.         sort(z,z+n-1,cmp);
  38.         for(int j=0;j<=n;j++)
  39.         {
  40.                 cout<<z[j].m<<"/"<<z[j].d<<"/"<<z[j].y<<endl;
  41.         }
  42. }
复制代码
回复

使用道具 举报

719

主题

906

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11898
发表于 2022-10-21 22:21:45 | 显示全部楼层
  1. #include<bits/stdc++.h>
  2. #include <windows.h>
  3. using namespace std;
  4. int n;
  5. string b;
  6. struct tim
  7. {
  8.     string y;
  9.     string m;
  10.     string d;
  11. }z[100];
  12. bool cmp(tim a,tim b)
  13. {
  14.     if(a.y!=b.y)
  15.     {
  16.         return a.y>b.y;
  17.         }
  18.     if(a.m!=b.m)
  19.     {
  20.         return a.m>b.m;
  21.     }
  22.     else
  23.     {
  24.         return a.d>b.d;
  25.     }
  26. }
  27. int main()
  28. {
  29.     cin>>n;
  30.     for(int i=0;i<=n;i++)//此处改外i<n,循环次数为n次
  31.     {
  32.             cin>>b;
  33.             z[i].m=b.substr(0,2);
  34.             z[i].d=b.substr(3,2);
  35.             z[i].y=b.substr(6,4);
  36.     }
  37.     sort(z,z+n,cmp);//此处改外z+n,sort函数的第二个参数为末尾数据的后一个地址
  38.     for(int j=0;j<n;j++)//此处改外j<n,循环次数为n次  
  39.     {
  40.             cout<<z[j].m<<"/"<<z[j].d<<"/"<<z[j].y<<endl;
  41.     }
  42. }
复制代码
回复

使用道具 举报

51

主题

54

帖子

8724

积分

论坛元老

Rank: 8Rank: 8

积分
8724

大牙狸 Lv:12
 楼主| 发表于 2022-10-22 16:30:05 | 显示全部楼层
  1. 老师,对了
复制代码
回复

使用道具 举报

51

主题

54

帖子

8724

积分

论坛元老

Rank: 8Rank: 8

积分
8724

大牙狸 Lv:12
 楼主| 发表于 2022-10-22 16:30:45 | 显示全部楼层


老师,对了

















































回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-7-18 07:49 , Processed in 0.064746 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表