读书人

2008年12月程序员笔试考前练习 (4)

发布时间: 2008-11-29 09:46:33 作者: liuhuituzi

2008年下半年软件考试因故推迟了,这未尝不是一件好事,对于那些准备还不够充分的考生来说,现在正是查漏补缺的好时机,本站为您整理了考前练习题,希望对您有所帮助,祝您考出好成绩!

1.所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。例如编写程序,求得并输出全部水仙花数的个数。请填空完善程序。
  #include <stdio.h>
  main()
  {
  int hun,ten,one; /*百位数、十位数、个位数*/
  int num,count=0;
  for (num=100;_____(1)_____;num++)
  {
   hum=________(2)_________;
   ten=________(3)_________;
   one=________(4)_________;
   if (____________________)
   {
   printf("%5d",num);
   count++;
   }
  }
  printf("\n");
  printf("No.=%d\n",count);
  }
  (1) num<1000(或num<=999)
  (2) num/100
  (3) (num-hun*100)/10
  (4) num%10
  (5) num==hun*hun*hun+ten*ten*ten+one*one*one
  (或hun*100+ten*10+one== hun*hun*hun+ten*ten*ten+one*one*one)

2.请写出执行下述程序的输出结果。
  #include <stdio.h>
  main()
  {
  int i=100,j=34,k=-63,m=4;
  int u=-15,v=71,w=27;
  i+=j;
  j-=k;
  k*=-m;
  m/=3*j-1;
  u%=v-2*w;
  printf("i=%d,j=%d,k=%d,m=%d,u=%d",i,j,k,m,u);
  答案:i=134,j=97,k=252,m=0,u=-15

3.阅读下述程序,写出运行结果。
  #include <stdio.h>
  main()
  {
    int a,y;
    a=10;
    y=0;
    do
    {
     a+=2;
     y+=a;
     printf("a=%d,y=%d\n",a,y);
     if (y>20)
     break;
     } while (a=14);
     printf("a=%d\n",a);
   }
  答案:
  a=12 y=12
  a=16 y=28
  a=16
  a=12 y=12
  接着大家要看仔细,if(y>20) break;难点在此,意思是当上面的Y>20时结束这一段,再去判断While的条件,所以这里会接着加,a=12+2=14 y=14+12=26 ok!26>20,我们去判断while的条件吧,a=14,此时a就正好=14,再次循环a=14+2=16 y=12+16=28,然后28>20跳出,a不等于14再次跳出,执行最后一句输出,a=16.

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.net/exam/

读书人网 >考试试题

热点推荐