判断条件 (delta=0) 是个赋值语句而不是判断语句。因此会先给delta赋值为0,之后判断delta是否为0,如果不为0则输出x1=x2,如果为0则输出x1!=x2。由于delta已经被错误地赋值为0了,所以最后输出的就是 x1!=x2。
delta = b*b - 4*a*c; if(delta >= 0) { x1 = (-b + sqrt(delta))/(2*a); x2 = (-b - sqrt(delta))/(2*a); printf("有两个实数根,x1 = %lf ,x2 = %lf",x1,x2); } else printf("无解"); printf("您想继续吗(Y/N) "); scanf(" %c",&ch);//%c前面必须加空格 ...
Delta语法是干净的、一致的、C家族语法。 lambda表达式: //C++ a([&](auto& b) { return b.c(); }); //delta a(b -> b.c()) 函数指针: //C, C++ void (*foo)(int); //delta var foo: int -> void 默认安全 默认会插入一些安全检查。 数组越界检查 整形溢出检查 空指针检查 ...
int GetRoot(float a, float b, float c ,double* root){ double delta, deltasqrt ;delta = b* b - 4*a*c ;if(delta<0)return 0 ;deltasqrt = sqrt(delta) ;if (a!=0.0){ root[0] = (deltasqrt - b)/(2.0*a) ;root[1] = (-deltasqrt - b)/(2.0*a) ;} if ...
delta = b*b - 4*a*c; if(delta >= 0) { x1 = (-b + sqrt(delta)) / (2*a); x2 = (-b - sqrt(delta)) / (2*a); printf("x1 = %.2f, x2 = %.2f\n", x1, x2); } else { real = -b/(2*a); imag = sqrt(-delta) / (2*a); printf("x1 = %.2f...
if连用的理解:两个if连用有两种方式,第一种是if……if连用,第二种是if语句的嵌套。if……if连用:每一个if语句都是独立的,为了编码的规范,很少使用if……if这样的格式,一般使用if……else或者使用switch……case语句代替。if语句的嵌套:所谓if语句嵌套即第1个if的if子句依然是if语句,第2个...
imag= sqrt(-delta) / (-2*a); printf("x1=%.2f+%.2fi,x2=%.2f-%.2f\n\n", real, imag, real, imag); } } printf("Enter a,b,c:"); }return0; } 实验2: //生成N个0~9之间的随机整数,并打印输出#include<stdio.h>#include<stdlib.h>#include#defineN 5intmain(){intx,n; sran...
判断如果delta大于0则继续计算x1和x2,分别使用(-b正负△)/2a并把结果赋值给x1、x2然后输出结果 如果小于0则输出没有实数根 只需要把if使用如果进行替代即可。 if-else if -else(多分支结构) 语法 if(表达式){语句1;}else if(表达式2){语句2;}{……}else if(表达式n){语句n;}else{语句n+1;} ...
delta2=delta2 .* sigmoidGradient(z2(:,i)); Theta2_grad+=delta3*(a2(:,i)'); Theta1_grad+=delta2*( a1(:,i)' ); end; Theta2_grad/=m; Theta1_grad/=m; %加入正则化 Theta2_grad+=[zeros(size(Theta2_grad,1),1),Theta2(:,2:end)]*lambda/m; ...