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

编写一个函数fun,其功能是:将两个两位的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的个位和十位上,b数的十位和个位依次放在c数的百位和千位上。
例如:当a=45 , b=12 。调用函数后,c=2154。
一定要C++的 麻烦懂的帮帮忙吧 先谢谢了 我确实一点也不懂

#include<iostream.h>
void fun(int a,int b)
{
int c,a1,a2,b1,b2;
a1 = a/10;//求a的十位数
a2 = a%10;//求a的个位数
b1 = b/10;//求b的十位数
b2 = b%10;//求b的个位数

c = b2*1000+b1*100+a2*10+a1;
cout<<c<<endl;

}
void main()
{
int a,b;
cout<<"请输入a,b<<"<<endl;
cin>>a>>b;
fun(a,b);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-28
#include <iostream>
using namespace std;
int fun(int a, int b)
{
return (b % 10 * 1000 + b/10 * 100 + a % 10 * 10 + a / 10);
}
//把a、b的各位数字取出后,乘以相应的权值就行了。
int main()
{
int a = 45, b = 12;
int c;
c = fun(a, b);
cout << c << endl;
return 0;
}
第2个回答  2010-06-28
#include<iostream>
using namespace std;

int fun( int a, int b )
{
int m, n, p, q;

m = a % 10;//a的个位
n = a / 10;//a的十位
p = b % 10;//b的个位
q = b / 10;//b的十位

return n + m*10 + 100 * q + 1000 * p;
}

void main()
{
int a, b;
cin>>a>>b;

cout<<fun(a,b)<<endl;
}
第3个回答  2010-06-28
#include<iostream.h>
void fun(int a,int b)
{
int c,a1,a2,b1,b2;

if(a<0 || a>99 || b<0 || b>99) //必须加错误判断
{
cout<<"请确保输入的a,b是一个两位的正整数"<<endl;
return;
}

a1 = a/10; //求a的十位数
a2 = a%10; //求a的个位数
b1 = b/10; //求b的十位数
b2 = b%10; //求b的个位数

c = b2*1000+b1*100+a2*10+a1;
cout<<c<<endl;

}
void main()
{
int a,b;
cout<<"请输入a,b"<<endl;
cin>>a>>b;
fun(a,b);
}
第4个回答  2012-05-30
#include<stdio.h>
void fun(int a,int b,long*c)
{
*c=(b%10)*1000+(b/10)*100+(a%10)*10+(a/10);
}
void main()
{int a,b;long c;
printf("Input a ,b:");
scanf("%d,%d",&a,&b);
fun(a,b,&c);
printf("The result is :%ld\n",c);
}
给楼主一个完整的答案!其他的答案不解释,能不能使用,用C++试一试便知!