模拟试题

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

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

来源:2exam.com 2013-10-30 20:49:03

解题思路: 

  第一处:所有2的倍数的数从数表中删去,所以应填:a[i]。 

  第二处:找出下一个不是的a[i],所以应填:a[i]。 

  第三处:输出素数,只要判断a[i]不是0就是素数,所以应填:0。 

  *************************************************** 

  给定程序MODI1.C中函数fun的功能是: 为一个偶数寻找两个素数, 这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。 

  请改正函数fun中指定部位的错误, 使它能得出正确的结果。 

  注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 

  给定源程序: 

  #include  

  #include  

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

  { int i,j,d,y; 

  for(i=3;i<=a/2;i=i+2) { 

  Y=1; 

  for(j=2;j<=sqrt((double)i);j++) 

  if(i%j==0) y=0; 

  if(y==1) {  

  d==a-i; 

  for(j=2;j<=sqrt((double)d);j++) 

  if(d%j==0) y=0; 

  if(y==1) 

  { *b=i; *c=d; } 

  } 

  } 

  } 

  main() 

  { int a,b,c; 

  do 

  { printf("\nInput a: "); scanf("%d",&a); } 

  while(a%2); 

  fun(a,&b,&c); 

  printf("\n\n%d = %d + %d\n",a,b,c); 

  } 

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