C语言编程:字符串连接

有两个含有数字和字母的字符串,要求把它们合并成一个新的字符串。
在新字符串中,不许有重复的符号,并且各字符按照从小到大的顺序排列,即:数字 < 大写字母 < 小写字母。

操作要求如下:
输入:两个字符串,以空格分隔
输出:合并后的字符串
原题网址: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 循环,就满足了题目要求。
在两个循环中,循环体也仅仅有一条语句。
呵呵,整个程序的语句,实质上,也不过三句而已。
//====================================

发布了532 篇原创文章 · 获赞 357 · 访问量 129万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览