需要逻辑0或非0在 jsValue 函数中

再过二十天就考三级了,今天才开始看编程题。第一道做了两个小时,其中一个半小时在研究这个错误是什么意思,无果……要求写的是JSVALUE函数,第一次做题,我确实写得很累赘,... 再过二十天就考三级了,今天才开始看编程题。第一道做了两个小时,其中一个半小时在研究这个错误是什么意思,无果……
要求写的是JSVALUE函数,第一次做题,我确实写得很累赘,但好不容易写完TC提示这个函数的最后一步:
pjz1=he1/cnt;
pjz2=he2/(300-cnt);
有错误。这两行都有同一个错误:需要逻辑0或非0……
什么意思啊????怎么改????

#include<stdio.h>
int a[300], cnt=0;
int i;

int he1n,he2n;
double pjz1=0.0,pjz2=0.0;

jsValue()
{
int i=1,cnt=0,pjz1n=0,pjz2n=0;
int g,s,b,q;
int pjz1[300];
int pjz2[300];

int he1n,he2n;
g=a[i]%10;
s=a[i]%100-g;
b=a[i]%1000-g-s;
q=a[i]-(g+s+b);
s=s/10;
b=b/100;
q=q/1000;
for(i=1;i<300;i++)
if (q-b-s-g>0)
{cnt=cnt+1;
pjz1[pjz1n]=a[i];
pjz1n++;
}
else
{
pjz2[pjz2n]=a[i];
pjz2n++;
}
he1=pjz1[0];
for(he1n=0;he1n<pjz1n;he1n++)
he1=he1+pjz1[he1n];
he2=pjz2[0];
for(he2n=0;he2n<pjz2n;he2n++)
he2=he2+pjz2[he2n];
pjz1=he1/cnt;
pjz2=he2/(300-cnt);
}

main()
{
int i;
readDat();
jsValue();
writeDat();
printf("cnt=%d\n满足条件的平均值pjz1=%7.2lf\n不满足条件的平均值pjz2=%7.2lf\n",cnt,pjz1,pjz2);
}

readDat()
{
FILE *fp;
int i;
fp=fopen("in55.dat","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
}

writeDat()
{
FILE *fp;
int i;
fp=fopen("out55.dat","w");
fprintf(fp,"%d\n%7.2lf\n%7.2lf\n",cnt ,pjz1,pjz2);
fclose(fp);
}


题目是这样的:

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:1239,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。

8129,9-8-1-2<0,则该数不满足条件计算平均值pjz2。

部分源程序存在文件prog1.c中。

程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2

请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
不好意思,漏了一行对he1和he2的定义没贴上:
double he1,he2;
展开
 我来答
sqrn
2007-08-30 · 超过12用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
语法查错题??!
请先看一下 jsValue 里局部变量的定义先:
int pjz1[300];
int pjz2[300];
再看一下全局变量:
double pjz1=0.0,pjz2=0.0;
重名时,局部变量优先,这时,错就错在没下标号,
只要把局变量里头的 pjz1 和 pjz2 改一下名字,保留你出错的那两行变量名不要改

--- 以上只从语法角度分析,程序逻辑上没仔细看
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式