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 循环,就满足了题目要求。
在两个循环中,循环体也仅仅有一条语句。
呵呵,整个程序的语句,实质上,也不过三句而已。
//====================================

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值