两道小题

Elysium 2007-11-14 11:03:44
1.写一个函数,将字符串中的'\n'替换成5个空格
2.作为项目负责人,你负责的项目中人员之间发生了严重分歧或你与项目人员发生了分歧,你该怎么办?
...全文
148 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Elysium 2007-11-17
  • 打赏
  • 举报
回复
thecorr的函数简练,不过数组没有边界检测,而且每次都要复制一遍后面的数据
loops的效率应该更高一些,不过没有用工具检测
zxbstrong 2007-11-14
  • 打赏
  • 举报
回复
楼上的牛
loops 2007-11-14
  • 打赏
  • 举报
回复
题1:

#include <string.h>
#include <stdio.h>
bool ReplaceCr_s(char str[], int capacity )
{
int i, k,crNum=0, strLen = strlen(str);
for( i=0;i<strLen; i++ )
{
if( str[i]=='\n' ){ ++crNum; }//扫描,统计回车的个数
}
k = crNum*4;//增长的空间
if( strLen+k > capacity-1 )//得算上ZERO的空间
{
return false;
}
for( i=strLen; i>=0; --i )//从尾巴开始直接定位
{
if( str[i]!= '\n' )
{
str[ i+k ]=str[i];
}else
{
memset( &str[i+k-4], ' ',5*sizeof(char));
k-=4;
}
}
return true;
}
int main()
{
char str[100]="a\nb\nc";
ReplaceCr_s(str,100);
printf("%s\n",str);
}


2. 谈话,分析原因,找到分歧点和实质。
thecorr 2007-11-14
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;

void instead(char* str)
{
char* p = str;
while ( *p )
{
if ( *p== '\n')
{
size_t length = strlen(p);
for ( int i=length + 5; i>=5;i-- )
{
p[i] = p[i-4];
}
for ( i=0;i<5;i++)
{
p[i] = ' ';
}
}
p++;
}

}
void main()
{
char p[100] = "he\nllo";
cout<<p<<endl;
instead( p );
cout<<p<<endl;
}
lucian2007 2007-11-14
  • 打赏
  • 举报
回复
任何事情有了分歧就要多沟通,避免误会,不要听不进别人的意见!!
ok,善于采纳别人的好建议才是优秀的leader,
再有就是不采纳别人的建议也要给他讲明道理让他心服口服!!
zxbstrong 2007-11-14
  • 打赏
  • 举报
回复
char szTemp[256];
memset(szTemp,0,sizeof(szTemp));

int nIndex=0;
const char *p=szSrc;

for (;*p!=0;++p)
{
if ((*p)=='\n')
{
strcpy(szTemp+nIndex," ");
nIndex+=5;
else
{
szTemp[nIndex]=*P;
++nIndex;
}
}

strcpy(szSrc,szTemp);
kelvenyiu 2007-11-14
  • 打赏
  • 举报
回复
task1.repace(task1.begin(), task1.find('\n'), " ");
babyvox1999 2007-11-14
  • 打赏
  • 举报
回复
1.发现'\n'用把旧串复制到新串
2.开会解决分歧
hai040 2007-11-14
  • 打赏
  • 举报
回复
for(int i=0,j=0; i <strlen(task1); ++i,++j)
if(task1[j]== '\n ')
{
task= ' ';
j += 4;
}
kelvenyiu 2007-11-14
  • 打赏
  • 举报
回复
for(int i=0; i<strlen(task1); ++i)
if(task1[i]=='\n')
task=' ';
Elysium 2007-11-14
  • 打赏
  • 举报
回复
关于第二个问题,出现严重分歧,中间我觉得肯定是有沟通的,但沟通不一定能解决严重分歧,接下来呢?换人??
ryfdizuo 2007-11-14
  • 打赏
  • 举报
回复
第二个问题, 我觉得应该选个合适的场合, 大伙聚到一块, 开个party, 什么的.把话说清楚,
根本不能托的, 本来不是什么事, 拖的越长, 越麻烦.
ryfdizuo 2007-11-14
  • 打赏
  • 举报
回复

#include <iostream>
#include <string>
#include <cassert>
using namespace std;



int main( )
{
string str("hell\noo");
string tag("\n");
string dest(" ");
//用char*去替换;
//str.replace( str.find(tag), tag.size(), " " );
//用string替代;
str.replace( str.find(tag), tag.size(), dest );
assert(str == "hell oo");
}


  在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。 《算法导论(原书第3版)》选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在it专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。    第3版的主要变化:    新增了van emde boas树和多线程算法,并且将矩阵基础移至附录。    修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。    移除两章很少讲授的内容:二项堆和排序网络。    修订了动态规划和贪心算法相关内容。    流网络相关材料现在基于边上的全部流。    由于关于矩阵基础和strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。    修改了对knuth-morris-pratt字符串匹配算法的讨论。    新增100道练习和28道思考题,还更新并补充了参考文献。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧