考完三级网络了
April 3, 2005因为复习得不认真,所以我也不知道自己能不能通过。昨天的笔试因为看的是旧板教材,很多内容没有的,自己估计运气好的话,能过。运气差就不行了。至于上机,我也不知道行不行。
题目是要求一个文件中的<200个的4位数读入数组后,算其中的个数totNum,然后把这些数的二进制形式向右移位得到的新数,如果如果这个数的是偶数,totCnt++(算偶数个数),并求这些数的原数的平均值。
我虽看过谭浩强的C语言教材,但南开100题做了不到十题,不过考前恰看过类似题型。但对二进制移位不知道该怎么做。这样大概担搁了半小时,终于想出一种方法。但是不知道对错。
我把xx[i]/2,得到的整数应该就是该数移位后的十进制数(根据转换的原理)--我不知道这样做行不行,有同学说不行,要把数的二进制运用指针来移位。有同学说可以。
然后就比较简单xx[i]%2==0的话就totcnt++;关键是上面一步不知道对错。
还有就是他给的文件是<200,我用记事本打开in.dat,看到有一百六十个数,而我第一次运行有200个。我知道不对,就在totnum++前面加了个if(xx[i]>999),算出来是对的,但我不知道这样行不行。
总的程序应该如下,可能有点记错了:
{ int i;
int xx2[i];
for(i=0;i
totnum++;
xx2[i]=xx[i]/2;
if(xx2[i]%2==0)
{
totcnt++;
totpjz+=xx[i];
}
}
totpjz=totpjz/totcnt;
}





叫你检查的还是没有检查。你这个人,叫我怎么说你好呢?slug里面还是有%字符,有这个字符就会有毛病.我帮你订正了.下次发表后,回到首页看一下.ok?
Comment by slim — April 3, 2005 @ 9:45 am