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

admin2017-02-27  40

问题 函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
    合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上.b数的十位和个位数依次放在c数的百位和个位上。
    例如,当a=45,b=12时,调用该函数后,c=5142。
    注意:部分源程序存在文件PROG1.C中。数据文件in.dat中的数据不得修改。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun (int a, int b, long  *c)
{
}
main()
{int a,b; long c;
    void NONO  ();
    printf("Input  a, b:");
    scanf("%d,%d", &a, &b);
    fun (a, b, &c);
    printf("The  result  is:%ld\n",c);
    NONO();
}
void NONO  ()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。  */
  FILE *rf, *wf  ;
  int  i,a,b  ;  long c ;
  rf=  fopen ("in.dat", "r");
  wf= fopen ("out.dat","w");
  for(i  =0 ; i  <  10  ;  i++)  {
    fscanf (rf, "%d,%d", &a, &b);
    fun (a, b, &c);
    fprintf (wf,   "a= %d,b= %d,c= %ld\n",a,b,c);
  }
  fclose (rf);
  fclose (wf);
}

选项

答案*c= (a%l0) *1000+ (b/10) *100+ (a/10) *10+ (b%l0);

解析 (1)分解两位数的正整数n的个位和十位数,可用n%10和n/10实现。
(2)设x0、x1、x2、x3为一位数,则x0、x1×10、x2×100、x3×1 000,可以分别使x0、x1、x2、x3构成个、十、百、干带权数,而x0+x1×10+x2×100+x3×1000构成四位数。本题最多只考虑四位数。
转载请注明原文地址:https://kaotiyun.com/show/mrID777K
0

相关试题推荐
最新回复(0)