社区
C语言
帖子详情
高人,救命啊,我快疯了
baolima
2004-08-06 08:01:25
我刚学C,准备过计算机等级考试,发现C好难啊,有个问题不知道该怎么做,请教各位。
题目是:
如果一段字符串,如果里面含有字母o,则字母o前后内容倒置,没有o则原样输出
比如输入 wo ai china,则结果应该是: ai china,ow
没有的话,就原样输出~
多谢了
...全文
258
13
打赏
收藏
高人,救命啊,我快疯了
我刚学C,准备过计算机等级考试,发现C好难啊,有个问题不知道该怎么做,请教各位。 题目是: 如果一段字符串,如果里面含有字母o,则字母o前后内容倒置,没有o则原样输出 比如输入 wo ai china,则结果应该是: ai china,ow 没有的话,就原样输出~ 多谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yjf7888
2004-08-07
打赏
举报
回复
修改后!
int lof(char *str, int size)
{
char ts[MAX];
char *pt = ts;
for (int i = size - 1; i != 0 && str[i] != 'o'; i--);
if (str[i] == 'o')
str[i] = '\0';
else
return 0;
strcpy(ts, str);
strcpy(str, &str[i+1]);
str[i] = 'o';
strcpy(&str[i+1], ts);
return 1;
}
--------------------------------------------------------
我想应该在str[i]='o'前面加一句:i = size-1-i;
palm99
2004-08-07
打赏
举报
回复
查找,交换,还难吗?
老码不识途
2004-08-07
打赏
举报
回复
最后一个O就从后往前找不就行了?
ppdog
2004-08-07
打赏
举报
回复
楼上的算法还要考虑多个O得情况,这时候要最后一个o
BroncoSpeedCoursing
2004-08-06
打赏
举报
回复
应该不难:
思路就是
第一步:判断是否找到字母O。
第二步:如果没有,则原样输出。
如果有,则整个字符串以字符O为中心分成左右两部分,
先输出右半部分再输出左半部分。
universe01
2004-08-06
打赏
举报
回复
修改后!
int lof(char *str, int size)
{
char ts[MAX];
char *pt = ts;
for (int i = size - 1; i != 0 && str[i] != 'o'; i--);
if (str[i] == 'o')
str[i] = '\0';
else
return 0;
strcpy(ts, str);
strcpy(str, &str[i+1]);
str[i] = 'o';
strcpy(&str[i+1], ts);
return 1;
}
//我没有调试过!你自己实验一下!
universe01
2004-08-06
打赏
举报
回复
void lof(char *str, int size)
{
char ts[MAX];
char *pt = ts;
for (int i = size - 1; i != 0 && str[i] != 'o'; i--);
if (str[i] == 'o')
str[i] = '\0';
strcpy(ts, str);
strcpy(str, &str[i+1]);
str[i] = 'o';
strcpy(&str[i+1], ts);
}
//我没有调试过!你自己实验一下!
Dong
2004-08-06
打赏
举报
回复
呵呵。上面的最后的pos=emp要去掉。
//。。。。。。。。。。。。。。。。
没有看到你后面的一句话,我考虑的是最前面的。
你要获得最后个要这样的
if(pos)
{
char* emp=pos;
while((emp=strchr(pos+1,'o'))!=NULL)
{
pos=emp;
}
}
这一句插入到char *pos = strchr(t,'o');的面
Dong
2004-08-06
打赏
举报
回复
没有看到你后面的一句话,我考虑的是最前面的。
你要获得最后个要这样的
if(pos)
{
char* emp=pos;
while((emp=strchr(pos+1,'o'))!=NULL)
{
pos=emp;
}
pos=emp;
}
这一句插入到char *pos = strchr(t,'o');的面
Dong
2004-08-06
打赏
举报
回复
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void fout(char* ch)
{
int len=strlen(ch);
char t[100];
strcpy(t,ch);
t[len]='\0';
char *pos = strchr(t,'o');
if(!pos)
printf("%s",ch);
else
{
char *c=t + len - 1;
while(c!=t)
{
if(*c==' ')
{
printf("%s\n",c+1);
*c='\0';
c--;
}
else
{
if(c==pos)
{
printf("%s\n",t);
break;
}
else
{
c--;
}
}
}
}
}
void main(void)
{
char* arr="wo ai china";
char* a="sdfdf werw wo dfasdfa dfa";
fout(arr);
printf("the next one...\n");
fout(a);
}
楼主。。。。我很久没有获得专家分了...........
baolima
2004-08-06
打赏
举报
回复
不好意思,说错了,如果有多个o的话,制考虑最后面的
baolima
2004-08-06
打赏
举报
回复
里面只会有一个o或者没有o
antijpn
2004-08-06
打赏
举报
回复
这个题目很奇怪嘛!如果有两个o怎么办?3个呢?
疯
了,是常态。
用D7写了一个调用C#的WebService客户端程序。开了一个线程,定时访问WebSerice的接口。程序在我的本本上(WINXP)测试时,跑的很欢畅。 昨天晚上,把这个WebService客户端以NT服务的形式注册部署到服务器上(Win2003 Server)。这样开机后便可以服务方式自动运行,不用人工监管。待部署完毕后,启动服务。但执行时间一到,日志中监测到报错:
程序员
救命
指南
作为本科和硕士都是纯文科的大龄女青年,理工科男生在我看来都是手心里的宝贝疙瘩和人间宝藏啊~出门看到满天繁星时给我讲各国的卫星发射;坐车过东海大桥时给我讲风力发电机的扇叶有多少米;吃鸡的时候给我讲计算机图形学;对提出信息论的香农大加赞赏;对美剧里面的所谓的黑客嗤之以鼻,给我讲那些真正的黑客:诸如约翰·麦卡锡(John McCarthy)、理查德·斯托曼(Richard Stallm...
fsck!我的
救命
稻草!
fsck!我的
救命
稻草! 不知道哪天开始在下养成了下班不关电脑的坏习惯,直到今天偶的电脑已经运行了将近三个星期,今天怎么用怎么不顺,点个应用半天没反应,最终系统死在了firefox手上,其实也难怪,开了将近50个页面,跑着3个java程序,无数多的文件和文件夹,简直“死有余辜”... 无奈,只能手动重启电脑了,在按下电源键的一刻,麻烦来了.........
HSMS/SEMI通讯E37中文说明书
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 ### HSMS/SEMI通讯E37说明书中文关键知识点 #### 一、HSMS概述 - **HSMS**(High-Speed SECS Message Service)是一种专为半导体工厂内部计算机之间进行高速消息传输而构建的通信标准。该标准旨在逐步取代原有的SEMIE4(SECS-I)和SEMIE13(SECS Message Service),特别是在需要高速数据交换或简单的点对点拓扑结构无法满足实际需求的情况下。 - HSMS的核心宗旨在于提供一种机制,使来自不同制造商的设备能够达成无缝对接和互操作状态,即便这些设备在设计理念和通信机制上存在显著差异。 - HSMS不仅适用于TCP/IP优先于OSI模型的应用环境,同时也能作为SEMIE4和SEMIE13的有效替代方案。 #### 二、HSMS的应用范围 - HSMS主要部署于半导体制造业中的计算机系统之间进行消息交换的场景,如自动化生产线、设备监控系统等。 - 该标准界定了通信接口,使得半导体工厂内的各类设备能够实现高效且可靠的数据传输。 #### 三、HSMS与其他标准的关系 - **SEMIE4 (SECS-I)**:规定了消息传输的基本规则和格式。 - **SEMIE5 (SECS-II)**:明确了消息的具体内容和结构。 - **IETF Documents**: - RFC791 - Internet协议 - RFC792 - Internet控制消息协议 - RFC793 - 传输控制协议 - RFC1120 - Internet主机通信层的要求 - RFC1340 - 指定号码 - **POSIX D...
使用粒子群优化来模拟一个群体。 附matlab代码.rar
使用粒子群优化来模拟一个群体。 附matlab代码.rar
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章