C++编写一个函数fun,其功能是:将两个两位的正整数a、b合并形成一个整数放在c中。合

帮帮忙吧 我对这个真是一点也不通 谢谢了
一定要C++的
合并的方式是:将a数的十位和个位依次放在c数的个位和十位上,b数的十位和个位依次放在c数的百位和千位上。
例如:当a=45 , b=12 。调用函数后,c=2154。

第1个回答  2010-06-28
int fun(int a,int b)
{
int s=0;
while (a||b)
if (b){
s=s*10+b%10;
b/=10;
}
else if (a) {
s=s*10+a%10;
a/=10 ;
}
return s;

}

调用示例:

//---------------------------------------------------------------------------
#include <iostream>

using namespace std;

int fun(int a,int b)
{
int s=0;
while (a||b)
if (b){
s=s*10+b%10;
b/=10;
}
else if (a) {
s=s*10+a%10;
a/=10 ;
}
return s;

}
int main(void)
{
int a=45,b=12,c;

c=fun(a,b);

cout<<c<<endl;
return 0;
}
//---------------------------------------------------------------------------本回答被提问者采纳
第2个回答  2010-06-26
#include<iostream>
using namespace std;
void main()
{
int a,b;
cout<<"请输入两个整数";
cin>>a>>b;
}
先把a,b转化成字符串,然后拼接。
最后在转回数字。
楼上的解法都是不妥的。
如果a,b是两位数杂办。
(注意字符串长度不要超过 整形的取值范围)
第3个回答  2010-06-26
int fun(int a,int b)
{
int c;
c=a*100+b;
return c;
}

C++的。
第4个回答  2010-06-26
# include <iostream>
using namespace std;
main()
{
int a,b;
char s1[20],s2[20];
cin>>a>>b;
itoa(a,s1,10);
itoa(b,s2,10);
strcat(s1,s2);
int c=atoi(s1);
cout<<c<<endl;
}