您的位置:首页 > 编程语言 > C语言/C++

C语言编程:字符串连接

2016-01-25 11:53 330 查看
有两个含有数字和字母的字符串,要求把它们合并成一个新的字符串。
在新字符串中,不许有重复的符号,并且各字符按照从小到大的顺序排列,即:数字 < 大写字母 < 小写字母。
操作要求如下:
输入:两个字符串,以空格分隔
输出:合并后的字符串
原题网址:http://zhidao.baidu.com/question/352327593.html
//====================================
看到网上的答案,觉得那些人编写的代码,真是过于罗嗦了。
有人面对这样一个简单的问题,竟然写了一百多行 !
也有人动用了少见的函数,用C编译不出来。
//------------------------------------
针对上述题目,做而论道给出程序如下:
//------------------------------------
#include <stdio.h>
void main()
{
    char B[100],  C[127] = {0};  unsigned char i;
    printf("Input STR: \n");   gets(B);  //输入字符串
    printf("\n\n");                      //换行
    for (i = 0; B[i] != '\0'; i++)  C[B[i]] = 1; //逐个查看字符并记录
    for (i = 33; i < 127; i++)  if (C[i])  printf("%c", i); //显示排序后的字符
    printf("\n\n");                      //换行
}
//------------------------------------
程序运行过程中,显示如下:
//------------------------------------
Input STR:
a;lsd; SDAS;;L9009
09;ADLSadls
//------------------------------------
仅仅用了一个函数gets(),以及两个十分简单 for 循环,就满足了题目要求。
在两个循环中,循环体也仅仅有一条语句。
呵呵,整个程序的语句,实质上,也不过三句而已。
//====================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: