
帮我看下这道计算机三级数据库上机题做对了否?
已知在文件IN57.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能...
已知在文件IN57.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求是:(1)求出这个文件中共有多少个正整数totNum。(2)将这些正整数右移一位二进制数后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz。最后调用函数WriteDat()把所有结果输出到文件OUT57.DAT中。
以下是我编写的函数代码(没有定义的变量均为前面已经定义了的):
void CalValue(void)
{
int i, yy[MAXNUM],zz[MAXNUM];
for(i=0; i<MAXNUM; i++) {
if(xx[i] > 0) {
yy[totNum] = xx[i];
totNum++;
}
}
for(i=0; i<totNum; i++) {
zz[i] = yy[i]>>1;
if(zz[i]%2==0) {
totCnt++;
totPjz += yy[i];
}
}
totPjz = totPjz / totCnt;
} 展开
以下是我编写的函数代码(没有定义的变量均为前面已经定义了的):
void CalValue(void)
{
int i, yy[MAXNUM],zz[MAXNUM];
for(i=0; i<MAXNUM; i++) {
if(xx[i] > 0) {
yy[totNum] = xx[i];
totNum++;
}
}
for(i=0; i<totNum; i++) {
zz[i] = yy[i]>>1;
if(zz[i]%2==0) {
totCnt++;
totPjz += yy[i];
}
}
totPjz = totPjz / totCnt;
} 展开
2个回答
展开全部
思路和代码应该没有问题
但是因为没运行,所以不确定100%无误
但是因为没运行,所以不确定100%无误

2025-07-16 广告
领课题库支持单选、填空、编程题等12种题型,可随机组卷。防作弊功能包括人脸识别、IP限制,某高校用其组织10万人在线考试无故障。领课多端适配:电脑Web、安卓/iOS APP、微信小程序、H5。学员可碎片化学,数据实时同步,某网校APP端用...
点击进入详情页
本回答由领课提供
2011-09-21
展开全部
您好,三级建议您找一个专业的老师看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询