C语言(关于字符串的编程题)
题目如下:
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
【C语言(关于字符串的编程题)】题目的意思是输入一堆电子邮箱的地址,让我们设计一个程序,能够剔除重复的邮箱地址并将邮箱地址按照字母表顺序排列。在比较字符串的时候,字母的大小写可以忽略,但是在输出的时候,字母的大小写要纳入考虑的范围。即根据ASCII。
# include
# include
char* strlwr(char copy[100]) {
for (int i = 0;
i < strlen(copy);
i++) {
if (copy[i] <= 'Z' && copy[i] >= 'A')
copy[i] += 32;
}
return copy;
}
int main(void) {
int T;
scanf("%d", &T);
char address[50][100];
int i = 0, len = 0;
while (i < T) {
i++;
scanf("%s", address[len]);
for (int j = 0;
j < len;
j++) {
if (strcmp(address[len], address[j]) == 0) {
len--;
break;
}
}
len++;
}
for (int j = 0;
j < len-1;
j++)
for (int k = 0;
k < len-1-j;
k++) {
char copy2[100], copy3[100];
snprintf(copy2, sizeof(copy2), "%s", address[k]);
snprintf(copy3, sizeof(copy3), "%s", address[k+1]);
if (strcmp(strlwr(copy2), strlwr(copy3)) > 0) {
char copy[100];
snprintf(copy, sizeof(copy), "%s", address[k]);
snprintf(address[k], sizeof(address[k]), "%s", address[k+1]);
snprintf(address[k+1], sizeof(address[k+1]), "%s", copy);
}
}
for (int j = 0;
j < len;
j++) {
printf("%s\n", address[j]);
}
return 0;
}
以上内容皆为本人观点,欢迎大家提出批评和指导,我们一起探讨!
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- 四首关于旅行记忆的外文歌曲
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 醒不来的梦
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 关于自我为中心的一点感想
- 「按键精灵安卓版」关于全分辨率脚本的一些理解(非游戏app)