首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

两道小题解决方案

2012-03-02 
两道小题1.写一个函数,将字符串中的\n替换成5个空格2.作为项目负责人,你负责的项目中人员之间发生了严重

两道小题
1.写一个函数,将字符串中的'\n'替换成5个空格
2.作为项目负责人,你负责的项目中人员之间发生了严重分歧或你与项目人员发生了分歧,你该怎么办?

[解决办法]
1.发现'\n'用把旧串复制到新串
2.开会解决分歧
[解决办法]
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);
[解决办法]
任何事情有了分歧就要多沟通,避免误会,不要听不进别人的意见!!
ok,善于采纳别人的好建议才是优秀的leader,
再有就是不采纳别人的建议也要给他讲明道理让他心服口服!!
[解决办法]

C/C++ code
#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;}
[解决办法]
题1:
C/C++ code
 
#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. 谈话,分析原因,找到分歧点和实质。
[解决办法]
第二个问题, 我觉得应该选个合适的场合, 大伙聚到一块, 开个party, 什么的.把话说清楚,
根本不能托的, 本来不是什么事, 拖的越长, 越麻烦.

热点排行