若x、y取值为区间[16]的整数,显示使函数f(xv)取最小值的x1、v1。 函数f的原型为double fint.int)若x,y取值为区间[1.6]的整数,显示使函数f(xv)取最小值的x1. y1。函数f的原型为double f(int,int) f(x, y)= 3.14*x-y x+y
时间: 2024-03-11 21:50:28 浏览: 68
design-自定义函数运算及显示
这个问题和之前的问题很相似,只是变成了区间[1,6]的整数。我们同样可以通过双重循环来实现:
```c
double f(int x, int y) {
return 3.14*x - y + x + y;
}
int main() {
FILE *fp;
double min = f(1, 1);
int x1 = 1, y1 = 1;
for (int i = 1; i <= 6; i++) {
for (int j = 1; j <= 6; j++) {
double tmp = f(i, j);
if (tmp < min) {
min = tmp;
x1 = i;
y1 = j;
}
}
}
printf("%f %d %d\n", min, x1, y1);
fp = fopen("CD2.dat", "wb");
fwrite(&min, 8, 1, fp);
fclose(fp);
return 0;
}
```
同样输出结果并将最小值写入二进制文件CD2.dat中。
阅读全文