#include
#include
voidmain()
{
floaty=1.05;intn=1;FILE*p;
p=fopen("design.dat","w");
while(pow(1.05,n)>=1e6||pow(1.05,n+1)<=1e6)n++;
fprintf(p,"%d,%.0f",n,pow(1.05,n));
fclose(p);
}
9. 设计程序:
计算多项式a0+a1*sin(x)+a2*sin(x*x)+a3*sin(x*x*x)+……的值,并将其值以格式"%.6f"写入到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
FILE*p;
inti;floatx=2.345,t=1.0,y=0.0;
floata[10]={1.2,-1.4,-4.0,1.1,2.1,-1.1,3.0,-5.3,6.5,-0.9};
p=fopen("design.dat","w");
y=a[0];
for(i=1;i<10;i++){
t*=x;
y+=a[i]*sin(t);
}
fprintf(p,"%.6f",y);
fclose(p);
}
10. 设计程序:
z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的新建文件design.dat中。
#include
voidmain()
{
FILE*p;floatf(floatx,floaty),min;
intx,y,x1,y1;
p=fopen("design.dat","w");
x1=1;y1=1;
min=f(x1,y1);
for(x=1;x<=6;x++)
for(y=1;y<=6;y++){
if(min>f(x,y)){min=f(x,y);x1=x;y1=y;}
}
fprintf(p,"%d,%d",x1,y1);
fclose(p);
}
floatf(floatu,floatv)
{
return(3.14*u-v)/(u+v);
}
11. 设计程序:
在6至10000内找出所有的合数,并顺序将每个合数用语句“fprintf(p,"%6d",n)”写入到考生目录中Paper子目录下的新建文件design.dat中。
说明:
某数等于其诸因子之和则该数为合数,如6=1+2+3,28=1+2+4+7+14则6、28就是合数。
#include
voidmain()
{
FILE*p;intn,i,s;
p=fopen("design.dat","w");
for(n=6;n<=10000;n++){
s=1;
for(i=2;iif(s==n)fprintf(p,"%6d",n);
}
fclose(p);
}
12. 设计程序:
将数组a的每1行均除以该行上绝对值最大的元素,然后将a数组写入到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
floata[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};
FILE*p;floatx;inti,j;
for(i=0;i<3;i++){
x=a[i][0];
for(j=1;j<3;j++)if(fabs(x)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,"%10.6f",a[i][j]);
fprintf(p,"\n");
}
fclose(p);
}
13. 设计程序:
数组元素x[i]、y[i]表示平面上某点坐标,统计所有各点间最短距离,并将其值以格式"%f"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
#definelen(x1,y1,x2,y2)sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))
voidmain()
{
FILE*p;inti,j;floatc,minc;
floatx[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
floaty[]={-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]);
p=fopen("design.dat","w");
for(i=0;ifor(j=i+1;jc=len(x[i],y[i],x[j],y[j]);
if(minc>c)minc=c;
}
fprintf(p,"%f",minc);
fclose(p);
}
14. 设计程序:
计算表达式1+2!
+3!
+...+12!
的值,并将计算结果以格式"%ld"写入到考生目录中Paper子目录下的新建文件design.dat中。
#include
voidmain()
{
FILE*p;longs=1,k=1;inti;
p=fopen("design.dat","w");
for(i=2;i<=12;i++){
k*=i;
s+=k;
}
fprintf(p,"%ld",s);
fclose(p);
}
15. 设计程序:
寻找并输出11至999之间的数m,它满足m、m*m、m*m*m均为回文数。
所谓回文数是指各位数字左右对称,例如121、676、94249等。
满足上述条件的数如m=11,m^2=121,m^3=1331皆为回文数。
请编制函数intJSValue(longm)实现此功能,如果是回文数,则函数返回1,反之则返回0。
最后把结果输出到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
#include
intJSValue(longm)
{
chars[15],n;inti;
ltoa(m,s,10);n=strlen(s);
for(i=0;i=s[n-i-1])return0;
return1;
}
voidmain()
{
FILE*p;longm;
p=fopen("design.dat","w");
for(m=11;m<1000;m++)
{
if(JSValue(m)&&JSValue(m*m)&&JSValue(m*m*m))
fprintf(p,"%ld",m);
}
fclose(p);
}
16. 设计程序:
x[i],y[i]分别表示平面上1个点的x、y坐标,求下列5点各点间距离总和,并将该数以格式"%.4f"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
FILE*p;floats,x[5]={-1.5,2.1,6.3,3.2,-0.7};
floaty[5]={7,5.1,3.2,4.5,7.6};inti,j;
p=fopen("design.dat","w");
s=0;
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
s+=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
fprintf(p,"%.4f",s);
fclose(p);
}
17. 设计程序:
对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式"%.3f"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
FILE*p;floatf(float),max,x;
p=fopen("design.dat","w");
max=f
(1);x=2;
while(x<=10){
if(maxx++;
}
fprintf(p,"%.3f",max);
fclose(p);
}
floatf(floatx){returnx-10*cos(x)-5*sin(x);}
18. 设计程序:
累加a字符串中各个字符的ASCII码值,然后将累加和以格式"%d"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
voidmain()
{
FILE*p;ints=0,i=0;
char*a="r235%^%34cdDW,.";
p=fopen("design.dat","w");
while(a[i]!
='\0'){
s+=a[i];
i++;
}
fprintf(p,"%d",s);
fclose(p);
}
19. 设计程序:
数组元素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的值以格式"%d"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
FILE*p;inti,k=0;
floatx[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
floaty[]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33};
p=fopen("design.dat","w");
for(i=0;i<10;i++)
if(pow((x[i]-1),2)+pow((y[i]+0.5),2)<=25
&&pow((x[i]-0.5),2)+pow(y[i],2)<=36)k++;
fprintf(p,"%d",k);
fclose(p);
}
20. 设计程序:
计算数列1,-1/3!
1/5!
-1/7!
1/9!
...的和至某项的绝对值小于1e-5时为止(该项不累加),将求和的结果以格式"%.6"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
FILE*p;floats=1,t=1,i=3;
p=fopen("design.dat","w");
t=-t/((i-1)*i);
while(fabs(t)>=1e-5){
s+=t;i=i+2;
t=-t/((i-1)*i);
}
fprintf(p,"%.6f",s);
fclose(p);
}
21. 设计程序:
计算多项式a0-a1*x+a2*x*x/2!
-a3*x*x*x/3!
+...的值,并将其以格式"%f"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
FILE*p;inti;floatx=1.279,t,y;
floata[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
p=fopen("design.dat","w");
t=1.0;y=a[0];
for(i=1;i<10;i++){
t=-t*x/i;
y+=a[i]*t;
}
fprintf(p,"%f",y);
fclose(p);
}
22. 设计程序:
在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式"%.5f"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
FILE*p;inti,k=0;
floatx[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);
p=fopen("design.dat","w");
for(i=1;i<10;i++){
if(d>fabs(x[i]-v)){
d=fabs(x[i]-v);
k=i;
}
}
fprintf(p,"%.5f",x[k]);
fclose(p);
}
23. 设计程序:
计算2的平方根、3的平方根、...、10的平方根之和,要求计算结果具有小数点后10位有效位数,并以格式"%.10f\n"写到考生目录中Paper子目录下的新建文件design.dat中。
#include
#include
voidmain()
{
FILE*p;
inti;doubles=0.0;
p=fopen("design.dat","w");
for(i=2;i<=10;i++)s+=sqrt(i);
fprintf(p,"%.10f\n",s);
fclose(p);
}
24. 设计程序:
统计满足条件x*x+y*y+z*z==2000的所有解的个数,并将统计结果以格式"%d"写入到考生目录中Paper子目录下的新建文件design.dat中。
说明:
若a、b、c是1个解,则a、c、b也是1个解,等等。
#include
voidmain()
{
FILE*p;intx,y,z,k=0;
p=fopen("design.dat","w");
for(x=-45;x<=45;x++)
for(y=-45;y<=45;y++)
for(z=-45;z<=45;z++)if(x*x+y*y+z*z==2000)k++;
fprintf(p,"%d",k);
fclose(p);
}
25. 设计程序:
选出5000以下符合条件的自然数。
条件是:
千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。
计算并输出这些四位自然数的个数cnt及这些数字的和sum到考生目录中Paper子目录下的新建文件design.dat中。
#include
voidmain()
{
FILE*p;
intcnt,sum;
inti,b1,b10,b100,b1000;
p=fopen("design.dat","w");
cnt=sum=0;
for(i=1000;i<5000;i++){
b1=i%10