1、第二部份 C程序设计上机操作题 2 一、数列求和 2 二、最大公约数、最小公倍数 6 三、排序算法 7 四、数组 8 五、求整数n各位数字及各数字之和 11 六、平面上各点之间距离 13 七、数制转换 16 八、字符串解决 17 九、最大值与最小值 23 十、斐波那契(Fibonacci)数列 26 十一、水仙花、完数、回文数与密切数 27 十二、方程求根 29 十三、回文数、因子、质因子、素数 32 十三、其她算法 33 第二部份 C程序设计上机操作题 一、数列求和 1、程序调试题 试题一 该程序功能:输入x和正数eps,计算多项式1-x+x*x
2、/2!-x*x*x/3!+...和直到末项绝对值不大于eps为止。
#include
3、
printf("%f\n",s);
}
试题二
该程序功能:运营时若输入a、n分别为3、6,则输出下列表达式值:
3+33+333+3333+33333+333333
#include
4、
t=t*10+i; //i-à1
s=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时值。
#include
5、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 6、目录下新建文献design.dat中。
#include 7、
}
fprintf(p,”%.6f”,y);
fclose(p);
}
试题二
计程序:计算多项式a0-a1*x+a2*x*x/2!-a3*x*x*x/3!+...值,并将其以格式"%f"写到考生目录中Paper子目录下新建文献design.dat中。
#include 8、里添加代码
p=fopen(“design.dat”,”w”);
t=1;
y=a[0];
for(i=1;i<10;i++)
{t=-t*x/i;
y=y+a[i]*t;
}
fprintf(p,"%f",y);
fclose(p);
}
试题三
设计程序:计算表达式1+2!+3!+...+12!值,并将计算成果以格式"%ld" 写入到考生目录中Paper子目录下新建文献design.dat中
#include 9、码
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中。
#include 10、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<10;i++)
{ y=y+t*a[i];
t=t*x;
}
fprintf(p,"%f",y);
fclose(p);
}
试题五
设计程序:计算2平方根、3平方根、...、10平方根之和,规定计算成果具备小数点后10位有效位数,并以格式"%.10f\n"写到考生目录中 11、Paper子目录下新建文献design.dat看到这里
中。
#include 12、前30项之和,并以格式"%.3f"写到考生目录中Paper子目录下新建文献design.dat中。
#include 13、数组元素进行求和,并将成果以格式"%.5f"写到考生目录中Paper子目录下新建文献design.dat中。
#include 14、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中。
#include 15、//考生在这里添加代码
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 16、n()
{ FILE *p;float s=1,t=1,i=3;
// 考生在这里添加代码
p=fopen("d:\\design1.txt","w");
t=-t*(i-1)*i;
while(fabs(1/t)>=1e-5)
{s+=1/t;
i=i+2;
t=-t*(i-1)*i;
}
fprintf(p,"%.6",s);
fclose(p);
}
二、最大公约数、最小公倍数
1、程序调试题
试题一
该程序功能:输入m、n(规定输入数均不不大于0,且m>=n),输出它们最小公倍数。
#inc 17、lude 18、一
该程序功能:输入m、n(规定输入数均不不大于0),输出它们最大公约数。
#include 19、h>
#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 20、 for (j=i+1;j 21、 /* 输出排序成果 */
for (i=0;i 22、 for (i=0;i 23、he sorted numbers:\n"); /* 输出排序成果 */
for (i=0;i 24、j<*m-1;j++) a[j]=a[j+1];
_____1_____; //(*m)--
}
}
void main()
{ int i,n=7,x[7]={1,-2,3,4,-5,6,-7};
_______2_______; //f(x,&n)
for(i=0;i 25、1 2 3
#include 26、i++) printf("%5d",x[i]); printf("\n");
}
试题三
该程序功能:调用函数f,求二维数组a中全体元素之和。
#include 27、4},{5,6,7,8},{9,10,11,12}},*b[3];
int i;
for(i=0;i<3;i++) b[i]=___2___; //*(a+i)
printf("%.2f\n",f(b,3,4));
}
试题四
求出数组a中相邻两个元素和,并将这些和存储在数组a中,按每一行3个元素形式输出。(例如:b[1]=a[0]+a[1],b[2]=a[1]+a[2]……,b[9]=a[8]+a[9])
#include 28、printf("\nInput 10 numbers: ");
for (i=0;i<10;i++) /* 数组输入 */
scanf("%d",&a[i]);
for (i=1;i<10;i++)
b[i]=_ a[i-1]+a[i]_; /* 计算b数组中元素 */
for (i=1;i<10;i++)
{
printf("%3d",b[i]);
if (_i%3==0_) printf("\n"); /* 29、每行打印3个数据 */
}
}
2、程序设计题
试题一
设计程序:将数组a每1行均除以该行上主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),然后将a数组写入到考生目录中Paper子目录下新建文献design.dat中新建文献design.dat中。
#include 30、
p=fopen(“design.dat”,”w”);
for(i=0;i<3;i++)
{temp=a[i][i[;
for(j=0;j<3;j++)
fprintf(p,"%5.1f",a[i][j]/temp);
fprintf(p,"\n");
}
fclose(p);
}
试题二
设计程序:将数组a每1行均除以该行上绝对值最大元素,然后将a数组写入到考生目录中Paper子目录下新建文献design.dat中。
#include 31、
{ 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=0;j<3;j++)
if(fabs(x) 32、"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);
}
试题三
在整数数组a中找出偶数放到数b中,对数组b按从小到大顺序排序后发格式“%3d”每行3个数写入考生文献夹中paper子文献夹下新建文献design1.dat。
#include 33、14,88,53,62,10,29},b[10];
//考生在这里添加代码
p=fopen("design1","w");
for(i=0;i<10;i++)
if(a[i]%2==0)b[n++]=a[i];
for(i=0;i 34、)
if(i%3==0) fprintf(p,"%3d\n",b[i-1]);
else fprintf(p,"%3d",b[i-1]);
fclose(p);
}
五、求整数n各位数字及各数字之和
1、程序调试题
试题一
该程序功能:运营时输入整数n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。
#include 35、 /******** 1 *******/
while(n>1) { //n或n>0或n!=0
s=s+n%10;
/******** 2 ******/
n=n%10; //%--à/
}
printf("%d\n",s);
}
2、程序填空题
试题一
该程序功能:求输入整数各位数字之和,如输入234则输出9,输入-312则输出6。
#include






