问答题 编写函数fun,其功能是:将a、b两个两位正整数合并成一个新的整数放在C中。合并的方式是:将a中的十位和个位数依次放在变量c的干位和十位上,b中的十位和个位数依次放在变量C的个位和百位上。
例如,当a=45,b=12,调用该函数后c=4251。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio,h>
void fun(int a,int b,long*c)
{
}
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);
}
【正确答案】
【答案解析】void fun(int a,int b,long *c)
{
/*b%10获取b的个位,a/10获取a的十位,a%10获取a的个位,b/10获取b的十位*/
*c=b/10+(a%10)*10+(b%10)*100+(a/10)*1000;
} [考点]
本题关键字有:某数的各个位数值的表示方法;知道某数的各个位数值如何表示该数;指针型变量。
[解析]
由于a和b都是两位数,所以对它们除10,对10求余可得到它们的十位数和个位数,也就是c的各位数,然后将其组合成c,需注意c是指针。