编写函数fun,其功能是将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的十位和千位上,b数的十位和个位依次放在c数的百位和各位上

问题详情:编写函数fun,其功能是将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的十位和千位上,b数的十位和个位依次放在c数的百位和各位上。 例如,当a=45,b=12时,调用该函数后,c=5142

我的代码如下(C语言):

#include<stdio.h>
int main()
{
    int fun(int a,int b);
    int a,b,c;
    printf("Please enter a:\n");
    scanf("%d",&a);  //接收正整数a
    printf("Please enter b:\n");
    scanf("%d",&b);  //接收正整数b
    c=fun(a,b);
    printf("The number c is %d",c);  //输出正整数c
    return 0;
}

int fun(int a,int b)
{
    int c1,c2,c3,c4;  //c1、c2、c3、c4分别对应c的千位、百位、十位、个位
    c1=a%10;
    c2=b/10;
    c3=a/10;
    c4=b%10;
    return (c1*1000+c2*100+c3*10+c4);
}

输出结果如下(其中45和12为用户输入值):

Please enter a:
45
Please enter b:
12
The number c is 5142
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: b'\xe7\xbc\x96\xe5\x86\x99\xe5\x87\xbd\xe6\x95\xb0fun\xe5\xb0\x86\xe4\xb8\xa4\xe4\xb8\xaa\xe4\xb8\xa4\xe4\xbd\x8d\xe6\x95\xb0\xe7\x9a\x84\xe6\xad\xa3\xe6\x95\xb4\xe6\x95\xb0a' 的意思是:用函数 fun 编写代码,将两个两位数字的正整数 a 相加。 ### 回答2: 编写函数fun,实现将两个两位数正整数a、b合并一个四位数功能。 具体实现方式为,先将两个两位数分别按照十位个位拆分出来,再将它们分别乘以10或1,然后加起来就能得到一个四位数,如下所示: ``` int fun(int a, int b) { int ah = a / 10; int al = a % 10; int bh = b / 10; int bl = b % 10; return (ah * 10 + bh) * 100 + (al * 10 + bl); } ``` 其,ah表示a的十位,al表示a的个位,bh表示b的十位,bl表示b的个位,乘以10或1的目的是为了将十位个位组合一个两位数。乘以100的目的是左移两位,让两个两位数合并千位百位上。 例如,当a为23、b为89时,分别求出ah、al、bh、bl为2、3、8、9,然后将它们合并起来,即: ``` ah * 10 + bh = 20 + 8 = 28 al * 10 + bl = 30 + 9 = 39 ``` 最后将28乘以100,再加上39就得到了最终结果,为2839。 需要注意的是,在编写函数时需要考虑输入值的合法性,例如当a或b为负、零或大于99时,程序应该返回错误信息或抛出异常。 ### 回答3: 编写函数fun(a,b),其a和b是两个两位数正整数,返回a和b的十位个位之和以及它们的积的和。具体步骤如下: 1. 写出函数框架:def fun(a,b) 2. 提取a和b的十位个位:可以用divmod()函数实现。将a和b分别用10取余和整除,获得它们的十位个位。 3. 计算十位个位之和:将a和b的十位个位相加,可以直接实现。 4. 计算积和之和:将a和b相乘,然后将其与十位个位之和相加即可。 5. 编写完整代码: ``` def fun(a,b): a_ten, a_unit = divmod(a, 10) b_ten, b_unit = divmod(b, 10) sum = a_ten + a_unit + b_ten + b_unit product_sum = a * b + sum return sum, product_sum ``` 6. 测试函数:调用函数,传入两个两位数,然后打印返回结果。 ``` a = 23 b = 45 result = fun(a,b) print("十位个位之和:", result[0]) print("积和之和:", result[1]) ``` 7. 测试结果:运行上述代码,可以看到输出结果如下: ``` 十位个位之和: 14 积和之和: 1254 ``` 因此,编写函数可以功地计算两个两位数十位个位之和以及积的和。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值