浙江省计算机二级c语言上机考试真题三程序编写.docx
- 文档编号:17703490
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:25
- 大小:21.99KB
浙江省计算机二级c语言上机考试真题三程序编写.docx
《浙江省计算机二级c语言上机考试真题三程序编写.docx》由会员分享,可在线阅读,更多相关《浙江省计算机二级c语言上机考试真题三程序编写.docx(25页珍藏版)》请在冰点文库上搜索。
浙江省计算机二级c语言上机考试真题三程序编写
(三)程序编写
1,求3元方程解
设计程序:
统计满足条件x*x+y*y+z*z==2000的所有解的个数,并将统计结果以格式"%d"输出。
说明:
若a、b、c是1个解,则a、c、b也是1个解,等等。
*/
#include"stdio.h"
intmain()
{
intx,y,z,k=0;
/*
*考生在这里添加代码
*/
return0;
}
∙#include
∙intmain()
∙{
∙intx,y,z,k=0;
∙for(x=0;x<=50;x++)
∙{
∙for(y=0;y<=50;y++)
∙{
∙for(z=0;z<=50;z++)
∙{
∙if(x*x+y*y+z*z==2000)
∙{k++;}
∙}
∙}
∙}
∙printf("%d",k);
∙}
2,求距离和
设计程序:
x[i],y[i]分别表示平面上一个点的坐标,求下列10个点与点(1.0,1.0)的距离
的总和,并将结果以格式"%.6f"输出。
#include
#include"math.h"
intmain()
{
inti;
floatx[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6};
floaty[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4};
floats=0.0;
/*
*考生在这里添加代码
*/
return0;
}
∙#include
∙#include
∙intmain()
∙{inti;
∙floatx[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6};
∙floaty[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4};
∙floats=0.000004;
∙floatsx,sy;
∙for(i=0;i<10;i++)
∙{
∙sx=(x[i]-1.0)*(x[i]-1.0);
∙sy=(y[i]-1.0)*(y[i]-1.0);
∙s+=sqrt(sx+sy);
∙}
∙printf("%.6f",s);
∙return0;
∙}
3,字符权重
设计程序:
在正整数中找出1个最小的、被3、5、7、9除余数分别为1、
3、5、7的数,将该数以格式"%d"输出。
#include"stdio.h"
#include"math.h"
intmain()
{
intn=1,k=1;
/*考生在这里添加代码
*/
printf("%d\n",n);
return0;
}
∙#include
∙#include
∙intmain()
∙{intj=1;
∙while
(1)
∙if(j%3==1&&j%5==3&&j%7==5&&j%9==7)
∙{
∙printf("%d\n",j+1);break;
∙}
∙elsej++;
∙}
4,pow
设计程序:
将满足条件pow(1.05,n)<1e6
值以格式"%d,%.0f"输出
#include"stdio.h"
#include"math.h"
intmain()
{floaty=1.05;intn=1;FILE*p;
/*
*考生在这里添加代码
*/
printf("%d,%.0f",n,pow(1.05,n));
return0;
}
∙#include
∙#include
∙intmain()
∙{floaty=1.05;intn=1,p;
∙while((pow(y,n)<1e6))
∙{
∙n++;
∙}
∙n--;
∙printf("%d,%.0f",n,pow(1.05,n));
∙return0;
∙}
5,sin多项式
设计程序:
计算多项式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"输出*/
#include"stdio.h"
#include"math.h"
voidmain()
{
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};
/*
*考生在这里添加代码
*/
}
∙#include
∙#include
∙intmain()
∙{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};
∙y=y+a[0];
∙p=fopen("design.dat","w");
∙for(i=1;i<10;i++)
∙{t=t*x;
∙y+=a[i]*sin(t);}
∙fprintf(p,"%.6f",y);
∙fclose(p);
∙}
6,x多项式
设计程序:
计算多项式a0+a1*x+a2*x*x+a3*x*x*x+...+a9*x*x*x*x*x*x*x*x*x的值,并将其值以格式"%f"输出n.dat中。
*/
#include"stdio.h"
#include"math.h"
voidmain()
{inti;floatx=1.279,t=1,y=0;
floata[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
/***
考生这里添加代码
*****/
printf("%f",y);
}
∙include
∙#include
∙intmain()
∙{inti;floatx=1.279,t=1.0,y=0.0;
∙floata[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
∙y=a[0];
∙for(i=1;i<=9;i++)
∙{t=t*x;y=y+a[i]*t;}
∙printf("%f",y);
∙}
7,最小的x1y1
设计程序:
z=f(x,y)=10*cos(x-4)+5*sin(y-2),若x,y取值为区间[0,10]的整数,找出
使z取最小值的x1,y1,并将x1、y1以格式"%d,%d"输出
#include"stdio.h"
#include"math.h"
intmain()
{
intx,y,x1,y1;
floatz,z1;
/*
*考生在这里添加代码
*/
return0;
}
#include
#include
voidmain()
{
FILE*p;
intx,y,x1,y1;floatz,z1;
/*考生在这里添加程序*/
p=fopen("design.dat","w");
z1=0;
for(x=0;x<=10;x++)
for(y=0;y<=10;y++)
{z=10*cos(x-4)+5*sin(y-2);
if(z {z1=z;x1=x;y1=y;} } fprintf(p,"%d,%d",x1,y1); fclose(p); } 8,大于数组平均和 ∙设计程序: 在数组a的10个数中求平均值v,将大于等于v的数组元素进行求和, 并将结果以格式"%.5f"输出 #include"stdio.h" intmain() { inti; floata[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum,v=0; /* * * *在这里添加代码 * * */ printf("%.5f,%.5f",v,sum); } ∙#include ∙#include ∙intmain() ∙{ ∙inti,k=0; ∙floatx[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum=0,v=0; ∙for(i=0;i<10;i++) ∙{v+=x[i];} ∙v=v/10; ∙for(i=0;i<10;i++) ∙{ ∙if(x[i]>=v) ∙{sum+=x[i];} ∙} ∙printf("%.5f",sum); ∙} 9,百鸡问题 设计程序: 求解百鸡问题。 已知公鸡每只5元、母鸡每只3元、小鸡1元3只。 求出用100元买100只鸡的解。 将得到的解按公鸡、母鸡和小鸡的只数以"%d,%d,%d\n"的格式输出。 #include"stdio.h" voidmain() { intcock,hen,chick; /* * *考生在这里添加代码 * */ printf("%d,%d,%d",cock,hen,chick); } ∙#include ∙intmain() ∙{intcock,hen,chick;FILE*p; ∙for(cock=20;cock>=0;cock--) ∙for(hen=0;hen<33;hen++) ∙{chick=100-cock-hen; ∙if(cock*5+hen*3+chick/3.0==100) ∙printf("%d,%d,%d\n",cock,hen,chick); ∙} ∙} 10,函数区间最大值 设计程序: z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,并将x1、y1以格式"%d,%d"输出。 #include"stdio.h" floatf(floatx,floaty) intmain() { floatmin; intx,y,x1,y1; min=f(1,1); 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; } } } printf("%d,%d",x1,y1); return0; } floatf(floatx,floaty) { /****添加代码*******/ } ∙#include ∙main() ∙{ ∙floatf(floatx,floaty); ∙floatmin; ∙intx,y,x1,y1; ∙min=f(1,1);x1=1;y1=1; ∙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;} ∙} ∙} ∙printf("%d%d",x1,y1); ∙} ∙floatf(floatx,floaty) ∙{ ∙return(3.14*x-y)/(x+y); ∙} 11,回文数 设计程序: 寻找并输出11至999之间的数m,它满足m、m*m、m*m*m均为回文数。 所谓回文数是指各位数字左右对称,例如121、676、94249等。 满足上述条件的数。 如m=11,m^2=121,m^3=1331皆为回文数。 请编制函数intJSValue(longm)实现此功能,如果是回文数,则函数返回1,反之则返回0。 最后输出结果。 #include"stdio.h" #include"stdlib.h" #include"string.h" intJSValue(longm) { /* *在这里添加代码 */ } intmain() { longm; for(m=11;m<1000;m++) { if(JSValue(m)&&JSValue(m*m)&&JSValue(m*m*m)) printf("%ld",m); } return0; } #include #include #include intJSValue(longm) {/*考生在这里添加代码*/ longi,n; n=m;i=0;//i中存放的是m的倒置数 while(n>0) {i=i*10+n%10;n=n/10;} if(m==i)return1; elsereturn0; /***添加代码结束***/ } 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); } 12距离xy 设计程序: 数组元素x[i]、y[i]表示平面上某点坐标,统计所有各点间最短距离,并将其值以格式"%f"输出*/ #include"stdio.h" #include"math.h" voidmain() { 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}; /* *考生在这里添加代码 */ } #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;i<10;i++) for(j=0;j<10;j++) {c=len(x[i],y[i],x[j],y[j]); if(i! =j&&minc>c) minc=c;} fprintf(p,"%f",minc); fclose(p); } 13,均差值 设计程序: 在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以*/ /*格式"%.5f"写输出。 */ #include"stdio.h" #include"math.h" voidmain() { 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; /* *考生在这里添加代码 */ } #include #include voidmain() {FILE*p;inti;floatk=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=0;i<10;i++) if(d>fabs(x[i]-v)) {d=fabs(x[i]-v); k=x[i];} fprintf(p,"%.5f",k); fclose(p); } 14,平方根和 设计程序: 计算2的平方根、3的平方根、...、10的的平方根之和,要求计算结果具*/ 有小数点后10位有效位数,并以格式"%.10f\n"输出*/ #include"stdio.h" #include intmain() { inti,t=1; floats; printf("%.10f\n",s); } #include"stdio.h" #include intmain() { inti,t=1; floats=0; for(i=2;i<=10;i++) s+=sqrt(i); printf("%.10f\n",s); } 15,亲密数 设计程序: 在6至5000内找出所有的亲密数对,并将每对亲密数用语句fprintf(p,"%6d,%6d\n",a,b);”输出*/ 说明: 若a、b为1对亲密数,则a的因子和等于b、b的因子和等于a、且a不等于b。 */ 如: 220、284是1对亲密数,284、220也是1对亲密数。 */ #include"stdio.h" intmain() { inta,b,c,k; /* *在这里添加代码 */ } #include voidmain() {FILE*p;inta,b,c,k; p=fopen("design.dat","w"); /*考生在这里添加代码*/ for(k=6;k<=5000;k++) {b=0;c=0; for(a=1;a if(k%a==0)b+=a; for(a=1;a if(b%a==0)c+=a; if(k==c&&k! =b)fprintf(p,"%6d,%d\n",k,b); } fclose(p); } 16,生产能力 设计程序: 某公司1999年年产量11.5万件,生产能力每年提高9.8%,求出产量能超过x万件的年份,结果由函数Year返回。 计算当x=20和x=30时的结果,将计算结果输出。 #include"stdio.h" intYear(intx) { inty; /* *在这里添加代码 */ returny; } intmain() { printf("%d,%d",Year(20),Year(30)); return0; } #include intYear(intx) {intp=11.5,y=1999; /*考生在这里添加代码*/ inti; for(i=1;i<=x;i++) p=p*(1+9.8/100); returnp; /***添加代码结束***/ } voidmain() {FILE*p; p=fopen("design.dat","w"); fprintf(p,"%d,%d",Year(20),Year(30)); fclose(p); } 17,数组除 设计程序: 将数组a的每1行均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),然后将a数组按行输出。 #include"stdio.h" intmain() {floata[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; /* *考生在这里添加代码 */ for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%10.6f",a[i][j]); printf("\n"); } return0; } 18,数组除最大值 设计程序: 将数组a的每1行均除以该行上绝对值最大的元素,然后将a数组按行输出。 #include"stdio.h" #include"math.h" intmain() { floata[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; floatx; inti,j; /* *在这里添加代码 */ for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%10.6f",a[i][j]); printf("\n"); } return0; } #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(a[i][j]>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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江省 计算机 二级 语言 上机 考试 真题三 程序 编写