全部问题 > 当前问题

这系统有毒

我服了,和答案一模一样的错了,复制粘贴过来又是满分,但是编程输出的还是错的,输出的是4268四个数,而不是4

{  int  i,j;

   j = 0;

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

/**********found**********/

      if (a[i]%2 == 0) {

/**********found**********/

a[j] = a[i]; j++;

       }

/**********found**********/

   return j;

}


朱鹏 2016-12-18 18:11:17

共 2 个回答

初一 2016-12-18 20:23:55

你用的什么编译器    用DEV ++  会出现乱码  21行源代码打开那边格式控制符是错的

我改过来输出没错

用的是VC++ 的话应该没问题吧~  

1.png

2016-12-18 21:39:20
  1. 答题正确但是不给分,原因有几个情况,如果你增加行和删除行就会出现此问题,原因是系统他估计你会看你某某行的代码,你增加行会删除行当然就会导致他判断XX行时反现和答案不一样。

  2. 输出本来就是输出4268,返回值是4,是指输出数组到a[X]前j个元素而已。而不是叫屏幕显示j只要FUN函数返回j就可以了,至于主函数拿j与你无关,比如厨师叫你拿青椒,厨师可以拿来做虎皮青椒(青椒是主),也可以做青椒肉丝(青椒只是配料)

    好了,大概有了解了吧,再回到主题假如你填return 5;他就会把46283了。主程序只是拿你的j用来返回我该输出a数组多少个无素而已

    这会你应该了解了,题目的意思是FUN函数功能,而不是说这整个程序要做什么功能吧。所以此题目我觉得没有什么好争议的地方嘛。


问题来自: 填空题真题