模拟试题

3773考试网计算机等级考试模拟试题正文

2014年3月全国计算机二级C语言上机模拟试题五十五3

来源:2exam.com 2013-11-12 15:55:54

 解题思路: 

  第一处:在函数fun中使用了*t,但在函数定义时没有使用*t,所以应改为:void fun(long s,long *t)。 

  第二处:每循环一次,sl的值就乘以10,所以应改为:sl=sl*10;。 *************************************************** 函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上, b数的十位和个位数依次放在c数的千位和十位上。 

  例如,当a=45,b=12时,调用该函数后,c=1524。 

  注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 

  给定源程序: 

  #include  

  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); 

  NONO(); 

  } 

  解题思路: 

  本题是给出两个两位数的正整数分别取出各位上的数字,再按条件组成一个新数。 

  取a十位数字的方法:a/10 

  取a个位数字的方法:a 

  参考答案: 

  void fun(int a, int b, long *c) 

  { 

  *c=(b/10)*1000+(a)*100+(b)*10+(a/10); 

  } 

  ※※※※※※※※※※※※※※※※※※※※※※※※※

触屏版 电脑版
3773考试网 琼ICP备12003406号-1