IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 问题 : 值日安排 -> 正文阅读

[C++知识库]问题 : 值日安排

题目描述

新生报到,OJ 实验室新来了 7?名同学,为了安排一周的宿舍值日情况,决定按照年龄从小到大的顺序依次安排到周一至周日。

请完善如下程序:

#include <stdio.h>
#include <stdlib.h>

struct studentInfo
{
    int num;        //学生学号
    char name[20];  //学生姓名,默认不超过20个字符
    int year;       //学生出生年份
    int month;      //学生出生月份
    int day;        //学生出生天
};

int main()
{
    int i,j,k,tmp1,tmp2;      //i,j迭代变量
    char *days[7] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
    struct studentInfo stu[7],tmpstu;  //学生信息
    for( i = 0 ; i < 7 ; i++)
        scanf("%d %s %d %d %d",&stu[i].num,stu[i].name,&stu[i].year,&stu[i].month,&stu[i].day);
    /*******在下面填写代码***********/
    /*******在上面填写代码***********/
    for( i = 0 ; i < 7 ; i++)   //输出排好序的stu信息
        printf("%s %d %s\n",days[i],stu[i].num,stu[i].name);
    return 0;
}

输入

7名同学的学号,姓名,出生年月日(任意两个学生出生日期不同)

输出

安排好的一周的值日表,每行中的数据以空格隔开。

输入输出样例

样例输入 #1

1224 lushaoxiao 1997 12 24
3132 wangxu 1997 11 10
3128 mengyuan 1997 10 1
3129 yushisheng 1997 8 12
1147 chenjueyu 1998 3 24
6125 lijianian 1998 6 14
3220 zhangliying 1997 7 18

样例输出 #1

Monday 6125 lijianian
Tuesday 1147 chenjueyu
Wednesday 1224 lushaoxiao
Thursday 3132 wangxu
Friday 3128 mengyuan
Saturday 3129 yushisheng
Sunday 3220 zhangliying

参考解答:

 for (i = 0; i < 6; i++)
    {
        for (j = 0; j < 6-i; j++)
        {
            if (stu[j].year < stu[j + 1].year)
            {
                tmpstu = stu[j];
                stu[j] = stu[j + 1];
                stu[j + 1] = tmpstu;
            }
            if (stu[j].year == stu[j + 1].year)
            {
                if (stu[j].month < stu[j + 1].month)
                {
                    tmpstu = stu[j];
                    stu[j] = stu[j + 1];
                    stu[j + 1] = tmpstu;
                }
                if (stu[j].month == stu[j + 1].month)
                {
                    if (stu[j].day < stu[j + 1].day)
                    {
                        tmpstu = stu[j];
                        stu[j] = stu[j + 1];
                        stu[j + 1] = tmpstu;
                    }
                }
            }
        }
    }

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 11:50:13  更:2022-04-04 11:51:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:19:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码