把 123456 做成214365,怎么写? 把 123456 做成214365,怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CString str = "123456",strDest = "";for (int i = 0 ; i < str.GetLength() / 2; i++){ strDest += str[i * 2 + 1]; strDest += str[i * 2];} #include <iostream>#include <string>using namespace std;int main(){ char buf[] = "123456"; buf[0] ^= buf[1] ^= buf[0] ^= buf[1]; buf[2] ^= buf[3] ^= buf[2] ^= buf[3]; buf[4] ^= buf[5] ^= buf[4] ^= buf[5]; cout << buf << endl; return 0;} 这种写法看起来很牛B:没有使用临时变量。其实,最好是使用:std::swap int num=123456;char ch[6];_itoa(num,ch);ch[0]+=ch[1];ch[1]=ch[0]-ch[1];ch[0]-=ch[1];ch[2]+=ch[3];ch[3]=ch[2]-ch[3];ch[0]-=ch[1];har ch[6];_itoa(num,ch);ch[3]+=ch[2];ch[2]=ch[3]-ch[2];ch[3]-=ch[2];_atoi(ch,num); 没发好int num=123456;char ch[6];_itoa(num,ch);ch[0]+=ch[1];ch[1]=ch[0]-ch[1];ch[0]-=ch[1];ch[2]+=ch[3];ch[3]=ch[2]-ch[3];ch[2]-=ch[3];_atoi(ch,num); 改用循环:#include <iostream>#include <string>using namespace std;int main(){ char buf[] = "123456"; for (int i = 0; i < 6; i += 2) buf[i] ^= buf[i+1] ^= buf[i] ^= buf[i+1]; cout << buf << endl; return 0;} 或者:#include <iostream>#include <string>using namespace std;int main(){ char buf[] = "123456"; for (int i = 0; i < 6; i += 2) buf[i] -= buf[i+1] = ((buf[i] += buf[i+1]) - buf[i+1]); cout << buf << endl; return 0;} 小女子有一VC源程序链接问题特来求教 【【【关于MFC的webbrowser控件怎样设置cookie的问题,有人知道吗】】】 若Combo下紧临一个控件,当拉了一次Combo后,下面的控件会被覆盖住 人民币100元求助 word问题 怎样使窗口标题栏闪烁? 【公告】南京程序员协会正式成立! 赶快申请加入会员! 请教:频繁做open()会使数据库崩溃吗? 如何让一个CheckBox处于不可选状态?(up有分) 用winsock api 写了一个程序编译时出现链结错误。 怎样得到两个数a,b相除的余数c。 请教,水晶报表中的grid contrl用法 当移动窗口时如何让图像显示在窗体控件中
for (int i = 0 ; i < str.GetLength() / 2; i++)
{
strDest += str[i * 2 + 1];
strDest += str[i * 2];
}
#include <string>using namespace std;int main()
{
char buf[] = "123456";
buf[0] ^= buf[1] ^= buf[0] ^= buf[1];
buf[2] ^= buf[3] ^= buf[2] ^= buf[3];
buf[4] ^= buf[5] ^= buf[4] ^= buf[5];
cout << buf << endl;
return 0;
}
这种写法看起来很牛B:没有使用临时变量。
其实,最好是使用:std::swap
char ch[6];
_itoa(num,ch);
ch[0]+=ch[1];
ch[1]=ch[0]-ch[1];
ch[0]-=ch[1];
ch[2]+=ch[3];
ch[3]=ch[2]-ch[3];
ch[0]-=ch[1];
har ch[6];
_itoa(num,ch);
ch[3]+=ch[2];
ch[2]=ch[3]-ch[2];
ch[3]-=ch[2];
_atoi(ch,num);
int num=123456;
char ch[6];
_itoa(num,ch);
ch[0]+=ch[1];
ch[1]=ch[0]-ch[1];
ch[0]-=ch[1];
ch[2]+=ch[3];
ch[3]=ch[2]-ch[3];
ch[2]-=ch[3];
_atoi(ch,num);
#include <iostream>
#include <string>using namespace std;int main()
{
char buf[] = "123456";
for (int i = 0; i < 6; i += 2)
buf[i] ^= buf[i+1] ^= buf[i] ^= buf[i+1];
cout << buf << endl;
return 0;
}
#include <iostream>
#include <string>using namespace std;int main()
{
char buf[] = "123456";
for (int i = 0; i < 6; i += 2)
buf[i] -= buf[i+1] = ((buf[i] += buf[i+1]) - buf[i+1]);
cout << buf << endl;
return 0;
}