首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 软件考试 > 考试试题 >

09年5月程序员笔试精选试题(附答案及解析)(3)

2009-05-09 

    试题五

    所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。例如编写程序,求得并输出全部水仙花数的个数。请填空完善程序。

  #include

  main()

  {

  int hun,ten,one; /*百位数、十位数、个位数*/

  int num,count=0;

  for (num=100;_____(1)_____;num++)

  {

  hum=________(2)_________;

  ten=________(3)_________;

  one=________(4)_________;

  if (____________________)

  {

  printf("]",num);

  count++;

  }

  }

  printf("\n");

  printf("No.=%d\n",count);

  }

  (1) num<1000(或num<=999)

  (2) num/100

  (3) (num-hun*100)/10

  (4) num

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

  请写出执行下述程序的输出结果。

  #include

  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

 

    试题六

    阅读下述程序,写出运行结果。

  #include

  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

  提示:首先第一次的结果不用说了?需要的话,请先把C的书再读一遍先!

  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.

  #include

  main()

  {

  static int a[5][5]={

  {1,2,3,4,0},

  {2,3,4,0,6},

  {3,0,1,7,5},

  {0,0,2,4,1},

  {8,4,3,2,7}

  };

  int i,j;

  for (i=0;i<5;i++)

  {

  for (j=0;j<5;j++)

  {

  if (a[j]==0)

  break;

  printf("M",a[j]);

  }

  printf("\n");

  }

  答案:

  1 2 3 4

  2 3 4

  3

  8 4 3 2 7

   

热点排行