(二) 上机编程题
1. 程序设计题:z=f(x,y)=(3.14*x-y)/(x+y), 若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,并将x1、y1以格式 "%d,%d" 写入到考生目录下新建文件design.dat。 #include
void main()
{ FILE *p; float f(int x,int y),min;
int x,y,x1,y1;
// 此处起要求考生自己编制程序
min=100;
p=fopen(“design.dat”, “w”);
for(x=1;x<6;x++)
for(y=1;y<6;y++)
if(f(x,y)
{ min=f(x,y); x1=x; y1=y; }
fprintf(p, “%d,%d”,x1,y1); // 答案:x1=1, y1=5
fclose(p); // 或 若x<=6及y<=6 则 x1=1, y1=6
}
float f(int u,int v)
{ return (3.14*u-v)/(u+v); }
4.程序设计题:对x=1,2,...,10,求函数 f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式"%.3f"写到考生目录下新建文件 design.dat。
#include
#include
void main()
{ FILE *p; float f(float),max,x;
// 此处起要求考生自己编制程序
p=fopen(“design.dat”, “w”);
max=f(1);
for(x=2;x<=10;x++)
if(max
max=f(x);
fprintf(p,”%.3f”,max); // 答案:21.111
fclose(p);
}
float f(float y)
{ y=y-10*cos(y)-5*sin(y);
return (y);
}
6. 程序设计题:数组元素x[i]、y[i]表示平面 上某点坐标,统计10个点中同处在圆
(x-1)*(x-1)+(y+0.5)*(y+0.5)=25 和 (x-0.5)*(x- 0.5)+y*y=36内的点数k,并将变量k的值以