printf("请输入两个整数(以逗号隔开):\n");
scanf("%d,%d",
&a,
&b);
//这里改一下,格式串中用逗号分隔开,输入:3,5
注意是英文逗号
public class Circle{
private static double r;//静态变量 圆的半径
public double PI=3142;
public Circle(double r){
Circler=r;
}
public double zhouchang(){
return 2PIr;
}
public static double getR() {
return r;
}
public static void setR(double r) {
Circler = r;
}
public double mianji(){
return PIrr;
}
public static void main(String[] args) {
Circle circle=new Circle(4);
Systemoutprintln("半径为"+CirclegetR()+"的周长为"+circlezhouchang());
Systemoutprintln("半径为"+CirclegetR()+"的面积为"+circlemianji());
}
}
我以前回答过相关的问题,比较全面的总结了MATLAB计算数值积分的相关方法。可以百度“求助大神,这样的积分如何积”,应该第一个链接就是。之所以没直接贴出链接,是因为怕度娘抽风。
这里简单说一下(更详细的内容最好还是看一下我以前的回答):
1、如果使用2009a之后的版本,可以使用函数quad2d计算一般区域的二重积分,但没有一般区域三重积分的计算函数。
2、从2012a开始,增加了integral、integral2和integral3函数。这几个函数比起早期的quad系列函数有不少改进,比如支持瑕积分以及任意区域的重积分,如果使用的是2012a之后的版本,建议使用这组函数。这几个函数应该也可以移植到早期的版本上使用。
3、如果使用的MATLAB版本较低(但至少应在71也就是R14SP3以上),可以使用SimWe仿真科技论坛rocwoods 版主提出的方法(该方法主要使用了匿名函数以及arrayfun两种语言特性)。
你现在的积分表达式有些可疑——对y积分的上下限是y的函数,这样就意味着积分结果会是关于y的表达式,与常见的三重积分不符合。如果把积分限中的y改成x,又和x的积分限存在冲突——x的范围是-4~4,那么sqrt(4-x^2)就会出现复数,所以,怀疑应该把y的积分限sqrt(4-y^2)改成sqrt(4^2-x^2),或者把x的积分限改成-2~2。
参考代码:
fun = @(x,y,z)x+y+z;xmin = -4;
xmax = 4;
ymin = @(x)-sqrt(4^2-x^2);
ymax = @(x) sqrt(4^2-x^2);
zmin = @(x,y)sqrt(x^2+y^2);
zmax = 4;
q = integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax)
积分结果:
q =20106
如果用“匿名函数+arrayfun”的方法,表达式如下:
q = quadl(@(xx) arrayfun(@(x) quadl(@(yy) arrayfun(@(y) quadl(@(z) x+y+z,sqrt(x^2+y^2),4),yy),-sqrt(4^2-x^2),sqrt(4^2-x^2)),xx),-4,4)结果和用integral3相同,但所需时间要长很多。
程序很简单,不解释了,直接代码:
```C
#include<stdioh>
int main() {
int score[3];
scanf("%d %d %d", score, score + 1, score + 2);
printf("%d", (score[0] + score[1] + score[2]) / 3);
return 0;
}
```
以上就是关于在线等→用C语言编写程序,接收从键盘上输入的2个整数,然后打印出这2个整数的和、差、积、商、平均值。全部的内容,包括:在线等→用C语言编写程序,接收从键盘上输入的2个整数,然后打印出这2个整数的和、差、积、商、平均值。、帮忙用java写一个程序,在线等、在线等Matlab编写程序过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)