#include
void main()
{ FILE *p; float f(float x,float y),min;
int x,y,x1,y1;
min=f(1,1); x1=y1=1;
for (x=1;x<=6;x++)
for (y=1;y<=6;y++)
if (f(x,y)
{ min=f(x,y); x1=x; y1=y; }
p=fopen("Design2.dat","w");
fprintf(p,"%d,%d",x1,y1);
fclose(p);
}
float f(float u,float v)
{ return (3.14*u-v)/(u+v); }
3-5 z=f(x,y)=10*cos(x-4)+5*sin(y-2),若x、y取值为区间[0,10]的整数,找出使z取最小值的x1、y1,并将x1、y1以格式"%d,%d"写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。P13
#include
#include
void main()
{ FILE *p;
int x,y,x1,y1; float z,z1;
z1=10*cos(-4)+5*sin(-2); x1=y1=0;
for (x=0;x<=10;x++)
for (y=0;y<=10;y++)
{ z=10*cos(x-4)+5*sin(y-2);
if (z
}
p=fopen("Design2.dat","w");
fprintf(p,"%d,%d",x1,y1);
fclose(p);
}
3-6 将数组a的每一行均除以该行上绝对值最大的元素,然后将a数组写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat。P3
#include
#include
void main()
{ float a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};
FILE *p; float x; int i,j;
for (i=0;i<3;i++)
{ x=a[i][0];
for (j=1;j<3;j++) if (fabs(a[i][j])>fabs(x)) x=a[i][j];
for (j=0;j<3;j++) a[i][j]/=x; }
p=fopen("design.dat","w");
for(i=0;i<3;i++) {
for(j=0;j<3;j++) fprintf(p,".6f",a[i][j]);
fprintf(p,"n");
}
fclose(p); }
3-7 设计程序:在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式"%.5f"写到考生目录中Paper子目录下的新建文件design.dat中。P12
#include
#include
void main()
{ FILE *p; int i, k=0;
float x[10]={7.23,-1.5,5.24,2.1,-12.45,6.3,-5,3.2,-0.7,9.81},d,v=0;
for(i=0;i<10;i++) v+=x[i]; v=v/10; d=fabs(x[0]-v);
for ( i=1; i<10; i++) if ( fabs(x[i]-v)
p=fopen("Design.dat","w"); fprintf(p,"%.5f", x[k] ); fclose(p);
}
3-8 设计程序:数组元素x[i]、y[i]表示平面上某点坐标,统计所有各点间最短距离,并将其值以格式"%f"写到源程序目录中Paper子目录下的新建文件design.dat中。P13
#include
#include
#define len(x1,y1,x2,y2) sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))
void main()
{ FILE *p; int i,j; float c,minc;
float x[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
float y[]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33};
minc=len(x[0],y[0],x[1],y[1]);
for (i=0;i<10;i++)
for (j=i+1;j<10;j++)
{ c=len(x[i],y[i],x[j],y[j]);
if (c
}
p=fopen("Design.dat","w");
fprintf(p,"%f",minc);
fclose(p);
}
4. 累加
4-1计算2的平方根、3的平方根、……、10的平方根之和,要求计算结果具有小数点后10位有效位数,并以格式"%.10fn"写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat中。P8
#include
#include
void main()
{ FILE *p;
int i; double s=0;
for (i=2;i<=10;i++)
s+=sqrt(i);
p=fopen("Design2.dat", "w");
fprintf(p,"%.10fn",s);
fclose(p);
}
4-2运行时若输入a、n分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333。PP11
#include
void main()
{ int i,a,n; long t=0;
s=0; // long s=0;
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++) {
t=t*10+i; // t=t*10+1;
s=s+t;
}
s=s*a;
printf("%ldn",s);
}
4-3累加a字符串各个字符的ASCII码值,然后将累加和以格式"%d"写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat中。P11
#include
void main()
{ FILE *p; int s=0,i=0;
char *a="r235%^4cdDW,.";
for (i=0;a[i]!=' ';i++)
s+=a[i];
p=fopen("Design2.dat","w");
fprintf(p,"%d",s);
fclose(p);
}
4-4计算数列1,-1/3!,1/5!,-1/7!,1/9!,……的和至某项的绝对值小于1e-5时为止(该项不累加),将求和的结果以格式"%.6f"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat中。P3
#include
#include
void main()
{ FILE *p; float s=1,t=1,i=3;
while ( fabs(-t/(i-1)/i)>=1e-5)
{ t= -t/(i-1)/i;
s+=t;
i+=2;
}
p=fopen("Design1.dat","w");
fprintf(p,"%.6f",s);
fclose(p);
}
4-5 x[i],y[i]分别表示平面上的 一个点的 坐标,求下列10个点与点(1.0,1.0)的距离的总和,并将结果以格式"%.6f"写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。P14
#include
#include
void main()
{ FILE *p;
int i;
float x[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6};
float y[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4};
float s=0.0;
for(i=0;i<10;i++)
s+=sqrt((x[i]-1.0)*(x[i]-1.0)+(y[i]-1.0)*(y[i]-1.0));
p=fopen("Design2.dat","w");
fprintf(p,"%.6f",s);
fclose(p);
}
4-6计算表达式1+2!+3!+…+12!的值,并将计算结果以格式"%ld"写入考生文件夹中Paper子文件夹下的新建文件Design2.dat。P7
#include
void main()
{ FILE *p; long s=1,k=1; int i;
for (i=2;i<=12;i++)
{ k=k*i;
s+=k;
}
p=fopen("Design2.dat","w");
fprintf(p,"%ld",s);
fclose(fp);
}
4-7利用公式π/4≈1-1/3+1/5-1/7+……公式计算π的近似值,直到某一项的绝对值小于1e-6为止。(π/4的结果不包含此项)将计算结果以格式"%.6f"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat。【本题的考点是不定长循环的控制细节】P14-15
#include
#include
void main()
{ FILE *fp;
float n=1,t=1,pi=0;
int i;
i=1;
while(fabs(t)>=1e-6)
{ pi+=t; i++; n= - n ;
t=n/(2*i-1);
}
fp=fopen("Design1.dat","w");
fprintf(fp,"%.10f",pi*4);
fclose(fp);
}
4-8输入x和正数eps,计算多项式1-x+x*x/2-x*x*x/3!+……的和直到末项的绝对值小于eps为止。
【本题的考点是不定长循环的控制细节】PP9
#include
#include
void main()
{ float x,eps,s=1,t=1,i=1;
scanf("%f%f",&x,&eps);
do {
t=-t*x/++i; // t=-t*x/i++ ;
s+=t;
} while(fabs(t)=eps);
printf("%fn",s);
}
4-9计算多项式a0+a1*sin(x)+a2*sin(x*x)+a3*sin(x*x*x)+…..+a9*sin(x*x*x*x*x*x* x*x*x)的值,并将结果以格式"%.6f"写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat中。P1
#include
#include
void main()
{ FILE *p;
int i; float x=2.345,t=1.0,y=0.0;
float a[10]={1.2,-1.4,-4.0,1.1,2.1,-1.1,3.0,-5.3,6.5,-0.9};
y=a[0]; t=x;
for (i=1;i<10;i++)
{ y+=a[i]*sin(t);
t=t*x;
}
p=fopen("Design2.dat","w");
fprintf(p,"%.6f",y);
fclose(p);
}
4-10计算多项式a0+a1*x+a2*x*x+a3*x*x*x+…+a9*x*x*x*x*x*x*x*x*x的值,并将其值以格式"%f"写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。P4
#include
#include
void main()
{ FILE *p; int i; float x=1.279,t=1,y=0;
float a[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
for (i=0; i<10;i++)
{ y=y+a[i]*t;
t=t*x;
}
p=fopen("Design2.dat","w");
fprintf(p,"%f",y);
fclose(p);
}
4-11设计:数列第一项为81,此后各项均为它前一项的正平方根,统计该数列前30项之和,并以格式“%.3f”写入到考生文件夹中paper子文件夹下的新建文件design2.dat【本题目的考点是文件操作】
更多计算机二级考试相关文章: