1of41第二部份C程序设计上机操作题.............................................................................................2一、数列求和...........................................................................................................................2二、最大公约数、最小公倍数...............................................................................................7三、排序算法...........................................................................................................................7四、数组...................................................................................................................................9五、求整数n的各位数字及各数字之和.............................................................................12六、平面上各点之间的距离.................................................................................................14七、数制转换.........................................................................................................................17八、字符串处理.....................................................................................................................19九、最大值与最小值.............................................................................................................25十、斐波那契(Fibonacci)数列..............................................................................................28十一、水仙花、完数、回文数与亲密数.............................................................................29十二、方程求根.....................................................................................................................31十三、回文数、因子、质因子、素数.................................................................................34十三、其他算法.....................................................................................................................352of41第二部份C程序设计上机操作题一、数列求和1、程序调试题试题一该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。#includestdio.h#includemath.hvoidmain(){floatx,eps,s=1,t=1,i=1;scanf(%f%f,&x,&eps);do{/*****1*****/t=-t*x/++i;//++i--i++s+=t;/*****2*****/}while(fabs(t)eps);//--=printf(%f\n,s);}试题二该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333#includestdio.hvoidmain(){inti,a,n;longt=0;/*********1*******/s=0;//s=0--longs=0scanf(%d%d,&a,&n);for(i=1;i=n;i++){/*******2******/t=t*10+i;//i-1s=s+t;}s=s*a;printf(%ld\n,s);}2、程序填空题试题一程序功能:调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。3of41#includestdio.hfloatf(float,float*,int);voidmain(){floatb[5]={1.1,2.2,3.3,4.4,5.5};printf(“%f\n”,f(1.7,b,5));}floatf(1)//floatf(floatx,floata[],intn){floaty=a[0],t=1;inti;for(i=1;in;i++){t=t*x;y=y+a[i]*t;}2;//returny}3、程序设计题试题一设计程序:计算多项式a0+a1*sin(x)+a2*sin(x*x)+a3*sin(x*x*x)+……的值,并将其值以格式%.6f写入到考生目录中Paper子目录下的新建文件design.dat中。#includestdio.h#includemath.hvoidmain(){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;i10;i++){t=t*x;y=y+a[i]*sin(t);}fprintf(p,”%.6f”,y);fclose(p);}试题二计程序:计算多项式a0-a1*x+a2*x*x/2!-a3*x*x*x/3!+...的值,并将其以格式%f写到考生目录中Paper子目录下的新建文件design.dat中。#includestdio.h#includemath.hvoidmain(){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”);4of41t=1;y=a[0];for(i=1;i10;i++){t=-t*x/i;y=y+a[i]*t;}fprintf(p,%f,y);fclose(p);}试题三设计程序:计算表达式1+2!+3!+...+12!的值,并将计算结果以格式%ld写入到考生目录中Paper子目录下的新建文件design.dat中#includestdio.hvoidmain(){FILE*p;longs=1,k=1;inti;//考生在这里添加代码p=fopen(design.dat,w);for(i=2;i=12;i++){k=i*k;s=s+k;}fprintf(p,%ld,s);fclose(p);}试题四设计程序:计算多项式a0+a1*x+a2*x*x+a3*x*x*x+...的值,并将其值以格式%f写到考生目录中Paper子目录下的新建文件design.dat中。#includestdio.h#includemath.hvoidmain(){FILE*p;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};//考生在这里添加代码p=fopen(design.dat,w);for(i=0;i10;i++){y=y+t*a[i];t=t*x;}fprintf(p,%f,y);fclose(p);}试题五设计程序:计算2的平方根、3的平方根、...、10的的平方根之和,要求计算结果具有小数5of41点后10位有效位数,并以格式%.10f\n写到考生目录中Paper子目录下的新建文件design.dat中。#includestdio.h#includemath.hvoidmain(){FILE*p;//考生在这里添加代码inti;floats=0;p=fopen(design.dat,w);for(i=2;i=10;i++)s=s+sqrt(i);fprintf(p,%.10f,s);fclose(p);}试题六设计程序:数列第1项为81,此后各项均为它前1项的正平方根,统计该数列前30项之和,并以格式%.3f写到考生目录中Paper子目录下的新建文件design.dat中。#includestdio.h#includemath.hvoidmain(){FILE*p;floats=0,a=81,i;//考生在这里添加代码p=fopen(design.dat,w);for(i=1;i=30;i++){s=s+a;a=sqrt(a);}fprintf(p,%.3f,s);fclose(p);}试题七在数组a的10个数中求平均值v,将大于等于v的数组元素进行求和,并将结果以格式%.5f写到考生目录中Paper子目录下的新建文件design.dat中。#includestdio.hvoidmain(){FILE*p;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;//考生在这里添加代码p=fopen(design.dat,w);for(i=0;i10;i++)v=v+a[i]/10;6of41sum=0;for(i=0;i10;i++)if(a[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中。#includestdio.h#includemath.hvoidmain(){FILE*fp;floatn=1,t=1,pi=0;inti;//考生在这里添加代码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!,