
浙江省计算机二级上机操作题(新).doc
41页1 of 42第二部份 C 程序设计上机操作题..............................................................................................2 一、数列求和............................................................................................................................2 二、最大公约数、最小公倍数................................................................................................6 三、排序算法............................................................................................................................7 四、数组....................................................................................................................................8 五、求整数 n 的各位数字及各数字之和..............................................................................11 六、平面上各点之间的距离..................................................................................................13 七、数制转换..........................................................................................................................16 八、字符串处理......................................................................................................................17 九、最大值与最小值..............................................................................................................23 十、斐波那契(Fibonacci)数列...............................................................................................26 十一、水仙花、完数、回文数与亲密数..............................................................................27 十二、方程求根......................................................................................................................29 十三、回文数、因子、质因子、素数..................................................................................32 十三、其他算法......................................................................................................................332 of 42第二部份第二部份 C 程序设计上机操作题程序设计上机操作题一、数列求和一、数列求和1、程序调试题试题一试题一 该程序功能:输入 x 和正数 eps,计算多项式 1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对 值小于 eps 为止。
#include #include void main() { float x,eps,s=1,t=1,i=1;scanf(“%f%f“,do {/***** 1 *****/t=-t*x/++i; //++i--i++s+=t;/***** 2 *****/} while(fabs(t)=printf(“%f\n“,s); } 试题二试题二 该程序功能:运行时若输入 a、n 分别为 3、6,则输出下列表达式的值: 3+33+333+3333+33333+333333 #include void main() { int i,a,n; long t=0;/********* 1 *******/s=0; //s=0--long s=0scanf(“%d%d“,for(i=1;i float f(float, float*,int); void main( ) { float b[5]={1.1,2.2,3.3,4.4,5.5}; printf(“%f\n”,f(1.7,b,5)); } float f( 1 ) // float f( float x, float a[ ], int n) { float y=a[0],t=1; int i; for(i=1;i #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};//* 考生在这里添加代码p=fopen(“design.dat”,”w”);y=a[0]; for(i=1;i #include 4 of 42void main() { FILE *p; int i; float x=1.279,t,y;float a[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;y=a[0];for(i=1;i void main() { FILE *p; long s=1,k=1; int i;//考生在这里添加代码p=fopen(“design.dat“,“w“);for(i=2;i #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};// 考生在这里添加代码p=fopen(“design.dat“,“w“); for(i=0;i #include void main() { FILE *p;//考生在这里添加代码int i;float s=0;p=fopen(“design.dat“,“w“);for(i=2;i #include void main() { FILE *p; float s=0,a=81,i;//考生在这里添加代码p=fopen(“design.dat“,“w“);for(i=1;ivoid main(){ FILE *p; int i;6 of 42float a[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum,v=0;//考生在这里添加代码p=fopen(“design.dat“,“w“);for(i=0;i=v) sum=sum+a[i];fprintf(p,“%.5f“,sum);fclose(p);} 试题八试题八 设计程序: 利用公式 π/4≈1-1/3+1/5-1/7+……公式计算 π 的近似值,直到某一项的绝对 值小于 1e-6 为止。
(π/4 的结果不包含此项)将结果以格式“%.6f“写入到考生目录中 Paper 子目录下的新建文件 design.dat 中include #include void main() {FILE *fp;float n=1,t=1,pi=0;int i;//考生在这里添加代码fp=fopen(“design.dat“,“w“);while(1.0/t>=1e-6){pi=pi+n*1.0/t; t=t+2; n=-n; } pi=pi*4; fprintf(fp,“%.6f“,pi); fclose(fp); } 试题九试题九 计算数列 1,-1/3!,1/5!,-1/7!的和至某项的绝对值小于 1e-5 为止(该项不累加) ,将 结果以格式“%.6f“写入到考生目录中 Paper 子目录下的新建文件 design1.dat 中 #include #include void main() { FILE *p; float s=1,t=1,i=3;// 考生在这里添加代码p=fopen(“d:\\design1.txt“,“w“);7 of 42t=-t*(i-1)*i;while(fabs(1/t)>=1e-5){s+=1/t;i=i+2;t=-t*(i-1)*i;}fprintf(p,“%.6f“,s);fclose(p); }二、最大公约数、最小公倍数二、最大公约数、最小公倍数1、程序调试题试题一试题一 该程序功能:输入 m、n(要求输入数均大于 0,且 m>=n) ,输出它们的最小公倍数。
include void main() { int m,n,k;/******** 1 *********/ while(scanf(“%d%d“, k%n!=0;)/******** 2 ********/k=k+n; //改为:改为:k=k+mprintf(“%d\n“,k); }2、程序填空题试题一试题一 该程序功能:输入 m、n(要求输入数均大于 0) ,输出它们的最大公约数include void main() { int m,n,k;while(scanf(“%d%d“, //!(!(n>0 n%k!=0||m%k!=0; k--); //k=m 或或 k=nprintf(“%d\n“,k); }8 of 42三、排序算法三、排序算法1、程序调试题该程序功能:用选择法选择法对 10 个整数按升序排序include #define N 10 void main() {int i,j,min,temp;int a[N]={5,4,3,2,1,9,8,7,6,0};printf(“\nThe array is:\n“); /* 输出数组元素 */for (i=0;i/****** 2 ******/temp=a[min]; a[min]=a[j]; a[j]=temp; /* 数据交换 */} //j--。












