You’ve gathered some e-mail addresses from a variety of sources, and you want to send out a mass mailing to all of the addresses. However, you don’t want to send out duplicate messages. You need to write a program that reads all e-mail addresses and discards any that already have been input.

Input

The first line is a positive integer for the number of e-mail addresses which is smaller than 50. Then each of the e-mail addresses is input in one line.

Output

Output the new mailing list in lexicographic order. Each e-mail address in one line.

Note: ignore letter case when comparing two e-mail addresses, but the output is case sensitive.

Sample Input

10

toocle01@netsun.com

chuangling@chuangling.net

zjykrc@163.com

hahdjx@163.com

5663@sohu.com

toocle01@netsun.com

chenql_008@163.com

tsmoql@alibaba.com.cn

LYC@hzlasiji.com

zjykrc@163.com

Sample Output

5663@sohu.com

chenql_008@163.com

chuangling@chuangling.net

hahdjx@163.com

LYC@hzlasiji.com

toocle01@netsun.com

tsmoql@alibaba.com.cn

zjykrc@163.com

#include

#include

#include

#include

//在快排的比较函数中,把字符串存放在另一个指针中,把这个指针中的字符转化为小写再排序。不能改变原来指针的内容!

//尽量使用strncpy, 同时最后一个参数要用strlen()+ 1,表示加上字符串最后一个/0;

int comp(const void*a, const void*b) {

char p1[200];

char p2[200];

strncpy(p1, (char*)a, strlen((char*)a) + 1);

strncpy(p2, (char*)b, strlen((char*)b) + 1);

long length_1 = strlen(p1);

long length_2 = strlen(p2);

for (int i = 0; i < length_1; i++) {

p1[i] = tolower(p1[i]);

}

for (int i = 0; i < length_2; i++) {

p2[i] = tolower(p2[i]);

}

return strcmp((char*)p1,(char*)p2);

}

int main() {

int n;

scanf("%d", &n);

char address[100][100];

int i = 0;

while (n--) {

scanf("%s", address[i]);

i++;

}

qsort(address, i, sizeof(address[0]), comp);

int m;

for (m = 0; m < i - 1; m++) {

if (strcmp(address[m], address[m + 1]) == 0) {

strncpy(address[m], "0", strlen(address[m]) + 1);

}

}

for (m = 0; m < i; m++) {

if (strcmp(address[m], "0") != 0) {

printf("%s\n", address[m]);

}

}

return 0;

}

C语言hw,[c语言]EmailAddresses(for hw)相关推荐

  1. c语言贪吃蛇黑方框,[求助][贪吃蛇]源程序,请教其中一个问题。

    [求助][贪吃蛇]源程序,请教其中一个问题. 源程序如下: 我的问题是,调节游戏速度时,数字为什么越大时,有时候竟然越快? #define N 200 #include #include #inclu ...

  2. 单片机c语言字符,单片机C语言中变量的定义方法解析

    描述 1.C语言中变量的定义方法 -C语言中变量定义语法为: #pragma rambank0 :即以关键词#pragma开始,rambank0指明资料区块为第0块. unsigned char m_ ...

  3. c语言5-34答案,C语言答案第5章.doc

    C语言答案第5章 第5章 数 组 [习题-1]/*c5_1.c*/ #include void main() { double a[12]={1.0,15.5,9.5,-23.0,8.4,66.5,7 ...

  4. C语言之数据类型,C语言之数据类型

    7.27 sizeof c语言的操作符,用于计算为数据类型分配的内存的大小,以字节为单位 语法格式: sizeof(数据类型或者变量):返回类型为: size_t Demo: #include int ...

  5. 通用编程c语言,STC单片机C语言通用万能编程.docx

    <8051单片机C语言编程模板> TOC \o "1-5" \h \z \o "Current Document" 毫秒级CPU延时函数 4 \o ...

  6. html语言教程教案,HTML语言与网页制作教案.doc

    名师精编优秀教案 HTML语言与网页制作教案 城步职业中学:刘红兰 教学内容: HTML语言与网页制作 教学目的: 1.掌握 输入和运行HTML文件的方法 2.掌握 HTML基本的结构标记 3.掌握 ...

  7. adc0809 c语言程序,单片机C语言程序设计:ADC0809数模转换与显示

    描述 本文分享ADC0809数模转换与显示的单片机C语言程序设计与电路图. ADC0809 数模转换与显示c语言程序 /*名称:ADC0809数模转换与显示 说明:ADC0809采样通道3输入的 模拟 ...

  8. c语言格式化字符串,C语言格式化输出小结

    函数说明 在gcc编程中,我们常用到的字符格式化输出函数是printf的,实际上gcc继承了C语言处理字符具有强大功能的风格,它提供了一系列的格式化输出函数,主要存在两个库函数文件stdio.h/ s ...

  9. c语言程序设计引言,C语言程序设计 Chap 1 引 言

    c语言 本文由浙江舟山衢山贡献 ppt文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看. C语言程序设计 语言程序设计 2008版 版 C语言程序设计 语言程序设计 教学要 ...

最新文章

  1. 2021年春季学期-信号与系统-第十五次作业参考答案-第十小题参考答案
  2. MyBatis 实际使用案例-dataSource
  3. linux磁盘管理------LVM
  4. 什么是Spring EL表达式
  5. install lsa package for R on ubuntu 10.04 lts lucid
  6. 启动Eclipse时,错误:WorkSpace Unavailable
  7. Android - UI
  8. 黑客松Demo: Kata 的下一代镜像系统
  9. 树莓派专用msata硬盘转接板
  10. Telink 825x 蓝牙开发笔记4
  11. Android搭建无线调试环境
  12. 盘点“大宗商品电子交易模式”的8种交易流程
  13. 算法设计与分析基础 第六章谜题
  14. 4763: 雪辉[点分治+可持久化分块]
  15. ad16怎么画弧线_在AD软件中如何实现圆弧走线?
  16. 水晶五笔下载地址(非技术)
  17. [QT_016]Qt学习之QPlainTextEdit 、QTextEdit 、QTextBrowser
  18. 20220210纪中集训总结
  19. Ebc编码与asc编码转换
  20. 海思SDK安装过程以及OSDRV编译不成功出现的问题的解决

热门文章

  1. c++ svd实例整理
  2. 优化选项对ARM下指针赋值的影响
  3. linux文泉驿字体调用,使用文泉驿点阵字体解决Linux中文化问题
  4. print arraylist 显示的不是内容_泛型数组列表 java.util.ArrayListlt;Egt;
  5. 为什么jupyterlab运行程序的时候会自动停止_搭建 Julia 轻量级编写环境(VSCode,JupyterLab)
  6. 重新精读《Java 编程思想》系列之final关键字
  7. asp.net panel 加html,ASP.NET 页面中动态增加的控件、添加事件
  8. java里冒泡排序编程案例_java编程题:用Java实现一个冒泡排序算法
  9. kubernetes英语怎么读_英语音标怎么读
  10. delphi usb 通信_意法半导体推出集成共模滤波器和ESD抑制功能的新汽车通信保护器件...