2013年计算机二级C语言上机题库十五_第3页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年4月12日
 编程题
  请编写个函数unsigned fun(unsigned w),w 是一个大于10的无符号整数,若w是n(n>=2)位的整数,则函数求出w的后n-1位作为函数值返回。
  例如:w值为 5923,则函数返回923,若w值为923,则函数返回23
  注意:部分源程序给出如下。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
  试题程序:
  #include <conio.h>
  #include <stdio.h>
  unsigned fun ( unsigned w )
  {
  }
  main( )
  {
  unsigned x;
  FILE *out;
  printf ( "Enter a unsigned integer number : " );
  scanf ( "%u", &x );
  printf ( "The original data is : %u\n", x );
  if ( x<10 )  
  printf ("Data error !");
  else  
  printf ( "The result : %u\n", fun ( x ) );
  out = fopen("out.dat", "w");
  fprintf(out, "%u" , fun(28));
  fclose(out);
  }
  答案是:
  unsigned fun(unsigned w)
  {
  unsigned t,s=0,s1=1,p=0;
  t=w;
  while(t >10)
  {
  if(t/10)
  p=t%10;
  s=s+p*s1;
  s1=s1*10;
  t=t/10;
  }
  return s;
  }
首页 1 2 3 尾页

相关文章