题目描述
本关任务:函数 fun
的功能是:将两个两位数的正整数 a、b
合并形成一个整数放在 c
中。合并的方式是:将 a
数的十位和个位数依次放在 c
数的十位和千位上,b
数的十位和个位数依次放在 c
数的百位和个位上。
注意:请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 中填入你编写的若干语句。
输入格式
整数 a、b
。
输出格式
计算得到的结果c
。
输入输出样例
输入1
45 12
输出1
5142
题解
这道题没什么技术含量,就是把a和b的各个位置的数字先取出来再做相加就行了,但是传给函数的是一个指针参数,而且是void型函数,不需要返回值,所以函数里面就不用写return了,但是c的值怎么传回来是一个问题,刚开始就是因为写了return c想要返回c,一直报错。后来搜了一下,直接在函数中改变指针c所在地址的值就行了,代码如下
#include <iostream>
using namespace std;
void fun(int a,int b,long *c)
{
int s=a/10*10,q=a%10*1000;
int g=b%10,bai=b/10*100;
*c=g+bai+s+q; //改变c指针指向地址的值
}
int main()
{ int a,b;
long c;
cin>>a>>b;
fun(a,b,&c);
printf("%ld\n",c);
return 0;
}