函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在C中,合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位数和个位数依次放在变量c的个位和百位上。 例如:a=45,b=12。调用该函数后:c=4251。

admin2021-06-15  30

问题 函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在C中,合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位数和个位数依次放在变量c的个位和百位上。
  例如:a=45,b=12。调用该函数后:c=4251。
  注意:
  请勿改动主函数main和其他函数中的任何内容,仅在fun函数的花括号中填入所编写的若干语句。
  【试题源程序】
  #include
  void fun(int a,int b,long*c)
  {
  }
  void main()
  {
    int a,b;long c;
    printf("Input a,b:");
    seanf("%d%d",&a,&b);
    fun(a,b,&c):
    printf("The result is:%ld\n",c);
}

选项

答案 void fun(int a,int b,long*c) { *c=(a/10)*1000+(b%10)*100+(a%10)*10+b/10; }

解析 设计思路是:①按位拆分正整数,与10整除(/)求其高位,与10取模(%)求其低位。②按位合并,每位上的数字与该位上的位权相乘,然后各位相加,即anan-1…a2a1a0=an*10n+an-1*10n-1+…+a2*102+a1*10+a0*100
转载请注明原文地址:https://kaotiyun.com/show/iMtp777K
0

最新回复(0)