社区
C语言
帖子详情
从键盘接收一个字符串。然后按照字符串顺序从小到大进行排序,并删除重复字符
fashionzhou
2005-12-05 07:47:42
各位帮忙!
...全文
2644
15
打赏
收藏
从键盘接收一个字符串。然后按照字符串顺序从小到大进行排序,并删除重复字符
各位帮忙!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yeqihong
2006-03-17
打赏
举报
回复
tmp[s[i++] - 'a']++;这句俺不太清楚意思得~,楼上帮解释下。小弟数据结构学差了。
爱我的人请呼吸
2006-03-17
打赏
举报
回复
算法确实很好的说
爱我的人请呼吸
2006-03-17
打赏
举报
回复
TO 楼上的
这段代码是将输入的字符转换成ASC码存在数据tmp[]中
对ASC码排序
lei001
2006-03-17
打赏
举报
回复
简单的美
blh
2006-03-17
打赏
举报
回复
改一下:
:P
#include <stdio.h>
int main()
{
char s[256];
int i = 0, tmp[256] = {0};
printf("Enter the string :\n");
gets(s);
while(s[i] != '\0')
tmp[s[i++]] = 1;
puts("\nAfter sort and delete operation:");
for(i = 0; i < 256;i++)
if(tmp[i])
printf("%c", i);
return 0;
}
blh
2006-03-17
打赏
举报
回复
改一下:
:P
#include <stdio.h>
int main()
{
char s[256];
int i = 0, tmp[256] = {0};
printf("Enter the string :\n");
gets(s);
while(s[i] != '\0')
tmp[s[i++]] = 1;
puts("\nAfter sort and delete operation:");
for(i = 0; i < 256;i++)
if(tmp[i])
printf("%c", i);
return 0;
}
wumingchenchao
2006-03-17
打赏
举报
回复
这个题我刚做过。采用冒泡排序法排序后,“删除”重复的字符即可。
#include<stdio.h>
#include<string.h>
main()
{
char string[123],*p,*q,*r,temp;
printf("Please input the characters:\n");
gets(string);
for(p=string;*p;p++) /*排序*/
{
for(q=r=p;*q;q++)
if(*r>*q)
r=q;
if(r!=p) /*如果此句执行,说明*p不是最小的,上面的r
记录下最小的字符的地址*/
{ temp=*r;
*r=*p;
*p=temp;
}
}
for(p=string;*p;p++)/*覆盖掉重复的字符*/
{
for(q=p;*p==*q;q++);
strcpy(p+1,q);
}
printf("Result:%s\n",string);
getch();
}
我在TC2下调试过了,没问题。LZ,看在我就一个三角的份上,能不能多给我那么一点点分?呵呵。算是对一个菜鸟的鼓励。
yeqihong
2006-03-17
打赏
举报
回复
那后面++是什么呢?不好意思。
boyzone_hero
2006-03-16
打赏
举报
回复
jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!)
算法不错我也学到了!
jixingzhong
2006-03-16
打赏
举报
回复
注意上面输入字母都要小写的 ~
不要超过 9 个(多了的话,把数组加大就可以了)
如果有大写字母或者其他字符,
扩展下程序就可以了 ~
主要就是表达一下我的思想 ~
不过空间有点浪费 ...
jixingzhong
2006-03-16
打赏
举报
回复
假设只有 26个字母(都小写),
如果处理的字符串比我假设的字符集大,
就扩展开了就可以了 :
#include <stdio.h>
int main()
{
char s[10];
int i = 0, tmp[26] = {0};
printf("Enter the string :\n");
gets(s);
while(s[i] != '\0')
tmp[s[i++] - 'a']++;
puts("\nAfter sort and delete operation:");
for(i = 0; i < 26; i++)
if(tmp[i] > 0)
printf("%c", i+'a');
return 0;
}
bjstcm
2006-03-16
打赏
举报
回复
我刚学范型算法,看看这个可不可以。
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
string str;
cin>>str;
sort(str.begin(),str.end());
string::iterator iter;
iter=unique(str.begin(),str.end());
str.erase(iter,str.end());
cout<<str;
}
wumingchenchao
2006-03-16
打赏
举报
回复
mark
fashionzhou
2006-03-16
打赏
举报
回复
自己先顶起来!
fashionzhou
2005-12-05
打赏
举报
回复
难道没人顶吗?
如何在macOS上快速搭建Intel RealSense深度相机开发环境:从零开始的完整指南
你是否想在macOS上探索3D视觉的奇妙世界?Intel RealSense深度相机为你打开了一扇通往深度感知技术的大门。无论是机器人导航、AR/VR应用还是智能监控,这款强大的硬件都能为你提供精准的3D数据。今天,我将带你一步步在macOS上搭建完整的RealSense开发环境,让你轻松开始深度感知的创作之旅! ## 📋 准备工作:检查你的macOS开发工具箱 在开始之前,让我们确保你的系
Linux下安装librealsense(包括ubuntu14.04 和 ubuntu16.04)
摘自:https://blog.csdn.net/xiaobao0211/article/details/81975841 这个人感觉把官方文档 https://github.com/IntelRealSense/librealsense/blob/development/doc/installation.md 翻译了一下 Linux下安装librealsense(包括ubuntu14.04 和 ubuntu16.04) xiaobao0211 2018-08-23 10:35:31...
深度视觉革命:如何在macOS上快速搭建Intel RealSense开发环境并实现3D感知
想要在macOS上体验工业级深度视觉技术吗?Intel RealSense SDK 2.0为您打开了通往三维感知世界的大门!这个强大的跨平台库支持Intel RealSense深度相机,提供高精度的深度和彩色流数据,以及相机内外参校准信息。无论是机器人导航、3D扫描还是增强现实应用,RealSense都能为您提供专业的深度感知解决方案。 ## 🚀 为什么选择Intel RealSense深度相
如何在macOS上快速配置Intel RealSense深度相机开发环境:完整指南
想要在macOS平台上体验Intel RealSense深度相机的强大功能吗?本指南为您提供从零开始的完整配置流程,让您快速搭建深度感知开发环境。Intel® RealSense™ SDK为计算机视觉应用提供了革命性的深度感知能力,在macOS系统上同样能够发挥出色表现。 ## 🍎 macOS系统环境检查 在开始配置之前,请确保您的macOS系统满足以下基本要求: - **操作系统版本**
深度视觉开发实战:使用Intel RealSense SDK 2.0构建Python应用
Intel® RealSense™ SDK 2.0(librealsense)为开发者提供了强大的深度相机开发框架,支持包括SR300、D400系列在内的多种RealSense设备。本文将详细介绍如何在Linux系统上配置RealSense开发环境,并通过Python实现深度数据采集、处理和可视化,帮助开发者快速掌握深度视觉开发的核心技术。🎯 ## 环境搭建与驱动配置 ### 系统要求与依赖
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章