文本比较算法实现时出现错误include\xutility(640): error C2064: 项不会透明计算项目为接受 2 个参数的函数

error C2064: 项不会计算为接受 2 个参数的函数
error C2064: 项不会计算为接受 2 个参数的函数
#include "stdafx.h"#include &stdlib.h&int _tmain(int argc, _TCHAR* argv[]){ int A[99],B[99],i,o,b,n,num, char max,printf("请输入需要排序的数:\n"); for(i=0;i&=100;i++) { scanf("%d",&num); B[i]=A[i]=//每输入一个数字保存到A[i],B[i]里面,i递增 if(num=='end')//如果输入end,就跳走开始比较大小 {
} }end: while(o&=0) {before: n=b=i-1;//b这个下标用来与A【o】比较大小 o=i+1;//这里o=i+1是因为以后循环要o递减 o--; while(b&=0) { B[b]=max(A[o],A[b]);//问题就出在这里,这里A【o】不变,依次与A【b】(b在递减)比较大小,把大的赋值给B【b】(b在递减),但编译器说项不会计算为接受 2 个参数的函数,怎么回事啊!! b--; } while(b&=n) { if(B[b]!=B[n]) { result=max(B[b],B[n]);//这里同样有问题,编译器说项不会计算为接受 2 个参数的函数 printf("%d&",result); & & } b++; } } return 0;}
补充:重新贴代码#include "stdafx.h"#include &stdlib.h&int _tmain(int argc, _TCHAR* argv[]){ int A[99],B[99],i,o,b,n,num,char max,printf("请输入需要排序的数:\n");for(i=0;i&=100;i++) { scanf("%d",&num); B[i]=A[i]=//每输入一个数字保存到A[i],B[i]里面,i递增 if(num=='end')//如果输入end,就跳走开始比较大小 {
} }end: while(o&=0) {before: n=b=i-1;//b这个下标用来与A【o】比较大小 o=i+1;//这里o=i+1是因为以后循环要o递减 o--; while(b&=0) { B[b]=max(A[o],A[b]);//问题就出在这里,这里A【o】不变,依次与A【b】(b在递减)比较大小,把大的赋值给B【b】(b在递减),但编译器说项不会计算为接受 2 个参数的函数,怎么回事啊!! b--; } while(b&=n) { if(B[b]!=B[n]) { result=max(B[b],B[n]);//这里同样有问题,编译器说项不会计算为接受 2 个参数的函数 printf("%d&",result); & & } b++; } } return 0;}
问题出在这里:你在前面定义了max为char变量,char max,后面使用max函数时,编译认为有问题:result=max(B[b],B[n]);但有的编译器编译上述代码不会出错,比如bcb
&嗯,谢谢。我还有个问题if(B[b]!=B[n]) //这b个数中有b-1个相同的数,一个不相同的,我来判断其是否不等于,与B【n】不相等的s数就是最大的那个{ result=max(B[b],B[n]); printf("%d&",result); & &
} b++; } 我这里是判断第一个数字是否与其他的不相等来确定大小,但假如第一个数恰好是最大的那个数(就是与其他所有值不等),就会输出b次,我只希望他只输出一次,这该怎么办?
相关知识等待您来回答
编程领域专家error C2064: term does not evaluate to a function错误,求救#include#includevoid main(){ double x1=1,x2=1,x3=1,x4=1,t1,t2,t3,t4,p1,p2,p3,p4,p5,p6,p,e,g; t1=2*(x1)+20*(x2)+40*((x1)-(x4))*((x1)-(x4))*((x1)-(x4)); t2=20*(x1)+200*(x2)+4*((x2)-2*(x3))*((x2)-2*(x3))*((x2)-2*(x3)); t3_作业帮
error C2064: term does not evaluate to a function错误,求救#include#includevoid main(){ double x1=1,x2=1,x3=1,x4=1,t1,t2,t3,t4,p1,p2,p3,p4,p5,p6,p,e,g; t1=2*(x1)+20*(x2)+40*((x1)-(x4))*((x1)-(x4))*((x1)-(x4)); t2=20*(x1)+200*(x2)+4*((x2)-2*(x3))*((x2)-2*(x3))*((x2)-2*(x3)); t3=10*(x3)-10*(x4)-8*((x2)-2*(x3))*((x2)-2*(x3))*((x2)-2*(x3)); t4=-10*(x3)+10*(x4)-40((x1)-(x4))*((x1)-(x4))*((x1)-(x4)); e=(t1)*(t1)+(t2)*(t2)+(t3)*(t3)+(t4)*(t4); g=sqrt(e); while(g>0.01) {
t1=2*(x1)+20*(x2)+40*((x1)-(x4))*((x1)-(x4))*((x1)-(x4));
t2=20*(x1)+200*(x2)+4*((x2)-2*(x3))*((x2)-2*(x3))*((x2)-2*(x3));
t3=10*(x3)-10*(x4)-8*((x2)-2*(x3))*((x2)-2*(x3))*((x2)-2*(x3));
t4=-10*(x3)+10*(x4)-40((x1)-(x4))*((x1)-(x4))*((x1)-(x4));
p2=(t1)*(120*(x1)*(x1)-240*(x1)*(x4)+2-120*(x4)*(x4))+20*(t2)+(t4)*(-120*(x1)*(x1)+240*(x1)*(x4)+120*(x4)*(x4));
p3=20*(t1)+(t2)*(12*(x2)*(x2)-48*(x2)*(x3)-48*(x3)*(x3)+200)+(t3)*(-24*(x2)*(x2)+96*(x2)*(x3)+96(x3)*(x3));
p4=(t2)*(96*(x3)*(x3)-96*(x2)*(x3)-24*(x2)*(x2))+(t3)*(-192*(x3)*(x3)+192*(x2)*(x3)+48*(x2)*(x2)+10)-10*(t4);
p5=(t1)*(120*(x4)*(x4)-240*(x1)*(x4)-120*(x1)*(x1))-10*(t3)+(t4)*(-120*(x4)*(x4)+240*(x1)*(x4)+120*(x1)*(x1)+10);
p6=(p2)*(t1)+(p3)*(t2)+(p4)*(t3)+(p5)*(t4);
p=(p1)/(p6);
x1=x1-p*(t1);
x2=x2-p*(t2);
x3=x3-p*(t3);
x4=x4-p*(t4);
e=4*(x1)*(x1)+64*(x2)*(x2);
g=sqrt(e); } printf("x1=%f,x2=%f\n,x3=%f\n,x4=%f\n",x1,x2,x3,x4);}编译后c(9) : error C2064: term does not evaluate to a function
c(17) : error C2064: term does not evaluate to a function
c(20) : error C2064: term does not evaluate to a function是在找不出问题啊
主要是数据项过多,又由于数学习惯,产生问题,缺少符号.前两个是t4中40后面缺少运算符,直接加了括号;后面一个是p3中最后一个96后面缺少运算符.建议:使变量名有一定的意义,最好不要使用类似x1,x2,x3之类的变量.(纯粹个人看法)谁能帮忙解决一下,一元二次方程,error C2064: 项不会计算为接受 1 个参数的函数,速度,谢谢_百度知道
谁能帮忙解决一下,一元二次方程,error C2064: 项不会计算为接受 1 个参数的函数,速度,谢谢
scanf(&#include &quot,x2=%;(2*c);%f&int main( ){输出两个不同实根;0){
t=b*b-4*a*c,x1););;,x2;# include &请输入b的值,sqrt.h&
printf(&quot,&c);PAUSE&
x1=(-b-sqrt(t))/).2f\
x1=(-b+sqrt(t))/
x1=x2=-c&#47.h&gt:&quot:&}
system(&quot, b,&a););
x1=x2=-b/:&
printf(&# include &(2*a).2f;x1=%;;
printf(&quot.2f&quot,x2=%.h&请输入c的值;x1=%;%f&) ;
scanf(&方程有任意实数根&quot,x1;%f&#include &););;b;);iostream&quot.2f;输出两个相等的实根;
float t.h&quot,x2).2f&);
scanf(&quot,x1;请输入a的值;
printf(&x1=%;方程有一个实数根&n&quot:&
printf(&(2*c);&#include &quot,&b),c
我有更好的答案
建议重新编程
你能帮我编译一下吗?问题出在哪?
声明错误int solve(n);改为int solve(int );
其他类似问题
一元二次方程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 透明计算项目 的文章

 

随机推荐