【问题描述】

在一个有200人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的学号,出生月日,试找出所有生日相同的学生。

【输入形式】

第一行为整数n,表示有n个学生,n<=200。此后每行包含一个字符串和两个整数,分别表示学生的学号(字符串长度为11位)和出生月(1<=m<=12)日(1<=d<=31),学号、月、日之间用一个空格分隔。
【输出形式】

对每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的学号,数字、学号之间都用一个空格分隔。对所有的输出,要求按日期从前到后的顺序输出。对生日相同的学号,按输入的顺序输出。
【样例输入】

6
07101020105 3 15
07101020115 4 5
07101020118 3 15
07101020108 4 5
07101020111 4 5
07101020121 8 10

【样例输出】

3 15 07101020105 07101020118
4 5 07101020115 07101020108 07101020111
8 10 07101020121

//============================================================================
// Name        : 10061_c.cpp
// Author      : coder
// Version     : 基本思想:以月份 *31 +天数作为索引
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
//学号
char nums[201][50];
//月,日
int month[201],day[201];
int dayIndex[400][200];
int indexLen[400];//记录key值出现的次数
int main()
{int n;scanf("%d",&n);int M=31; //最大每月天数int i;for(i=0; i<400; i++) indexLen[i]=0;for(i=1; i<=n; i++){scanf("%s %d %d", nums[i], &month[i], &day[i]);int index = (month[i]-1)*M + day[i];dayIndex[index][indexLen[index]] = i;indexLen[index]++;}for(i=1; i<=12*31; i++){if(indexLen[i]){printf("%d %d ", i/31+1, i%31);//打印月,天for(int j=0; j<indexLen[i]; j++)printf("%s ",nums[dayIndex[i][j]]);puts("");}}return 0;
}

转载于:https://www.cnblogs.com/love533/p/3433523.html

C语言程序设计-同一天生日[综合应用]相关推荐

  1. c语言编程 构建围墙,c语言程序设计朝盛 综合程序练习题.ppt

    c语言程序设计朝盛 综合程序练习题 综合程序练习题 综合程序练习题 大型程序设计的要求 综合程序练习题 综合程序练习题 大型程序设计题目分析: 1 打字练习 2 电子琴 3 简易画图板 4 贪吃蛇 5 ...

  2. java语言程序设计期末复习综合练习题_Java语言程序设计期末复习综合练习题答案...

    Java语言程序设计期末复习综合练习题 一.选择题. 2. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )? A.public stat ...

  3. 湖南科技大学c语言程序设计b,2017年湖南科技大学计算机科学与工程学院826C语言程序设计与数据结构综合之数据结构考研题库...

    一.填空题 1. 无用单元是指_____,例_____ [答案]用户不再使用而系统没有回收的结构和变量: 2. 起始地址为480,大小为8的块,其伙伴块的起始地址是_____:若块大小为32,则其伙伴 ...

  4. c语言综合程序设计问答题,C语言程序设计综合习题题目.doc

    <C语言程序设计>期中综合练习 一 填空题 1.在C语言中,字符类型的数据在内存中以相应的 存放,所以字符也可以用整数形式输出. 在C语言中,符号常量是在一个程序中指定的用名字代表的常量, ...

  5. c语言程序设计的水电费问题,C语言程序设计A综合程序设计.pptx

    C语言程序设计A综合程序设计.pptx C语言程序设计A实验 综合程序设计,桂林电子科技大学 教学实践部 秦兴国 Email ,Outline,实验目的和实验要求 综合程序设计实验要求 实验提示,实验 ...

  6. c语言程序设计开封电大,最新电大《C语言程序设计》题库及答案.docx

    <C语言程序设计>期末综合练习题 模拟试题一一.单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A).A. main B. MAIN C. name D. func ...

  7. 电大计算机C语言1253,1253《C语言程序设计》电大期末精彩试题及其问题详解

    1253<C语言程序设计>电大期末精彩试题及其问题详解 (34页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档&l ...

  8. 重庆科技学院c语言程序设计报告,2020年重庆科技学院《911程序设计综合》硕士研究生招生复试大纲...

    为方便考研考生做好复试准备,各院校会陆续公布硕士研究生招生复试方案,中公考研小编整理"2020年重庆科技学院<911程序设计综合>硕士研究生招生复试大纲"相关内容,希望 ...

  9. c语言程序综合实习学生成绩,C语言程序设计综合实习报告-资源下载人人文库网...

    <C语言程序设计>综合实习报告 用指针优化学生成绩排名一.目的1 熟悉变量的指针和指向变量的的指针变量的概念和使用2熟悉数组的指针和指向数组的的指针变量的概念和使用3. 掌握冒泡法或选择法 ...

最新文章

  1. Cloud Programming Simplifie : A Berkeley View on Serverless Computing
  2. 转载--redis密码管理
  3. linux防火墙 限制端口,Linux开启防火墙并限制开放端口
  4. php+json对象格式,PHP 创建对象来输出 JSON 格式
  5. java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信
  6. 数据库原理 知识点总结
  7. linux更改用户名_破旧安卓手机第二春,在安卓手机上使用Linux_deploy运行Linux
  8. GitHub---最简单的使用
  9. docker Harbor2.3.4 http 搭建镜像仓库
  10. C语言集合的排序方法,排序集合 c语言.doc
  11. android 蓝牙headset,android – 如何通过反射使用BluetoothHeadset类
  12. 缺失数据em算法python_EM算法
  13. windows找不到文件gpedit.msc_u盘插入电脑在windows却找不到u盘的解决办法【详解】...
  14. 关于新加坡的身份证与电话号码验证
  15. 抖音运营详细教程,算法解读、平台规则、热门涨粉......丨国仁网络
  16. 7-1 前n项的和1 (10 分)
  17. html5给文字添加拼音,word怎么为文字添加拼音
  18. 编译和push services.jar的方法
  19. redirect_uri参数错误
  20. 20位大厂面试官推荐的Java面试八股文

热门文章

  1. 【嵌入式】7段数码管引脚(2019版开发板)
  2. QT实现一个图片显示器,有登录界面(附图片,源码可直接使用)
  3. Mysql 数据库——Mysql 数据库管理
  4. Edit conflicts
  5. 图谱实战 | 丁香园医疗领域图谱的构建与应用
  6. MATLAB 学习心得(3) 定积分和双重积分,三重积分的求法
  7. Flutter | 和小老弟一起玩转Widget
  8. java笔迹比对_[笔迹]java-其他
  9. CST学习------网格类型及设置方法和技巧
  10. win12服务器文件设置只读,如何在Win10系统中更改文件夹的只读或系统属性