sum=0;
for(i=0;i<10;i++) if(a[i]>v)
sum=sum+a[i];
fprintf(p,\ fclose(p); }
试题八
设计程序: 利用公式π/4≈1-1/3+1/5-1/7+??公式计算π的近似值,直到某一项的绝对值小于1e-6为止。 (π/4的结果不包含此项)将结果以格式\写入到考生目录中Paper子目录下的新建文件design.dat中。 #include
FILE *fp;
float n=1,t=1,pi=0; int i;
//考生在这里添加代码
fp=fopen(\ while(1.0/t>=1e-6) {pi=pi+n*1.0/t;
t=t+2; n=-n; }
pi=pi*4;
fprintf(fp,\fclose(fp); }
试题九
计算数列1,-1/3!,1/5!,-1/7!的和至某项的绝对值小于1e-5为止(该项不累加),将结果以格式\写入到考生目录中Paper子目录下的新建文件design1.dat中。 #include
{ FILE *p; float s=1,t=1,i=3; // 考生在这里添加代码
p=fopen(\ t=-t*(i-1)*i;
while(fabs(1/t)>=1e-5) {s+=1/t; i=i+2;
t=-t*(i-1)*i;
6 of 41
}
fprintf(p,\ fclose(p); }
二、最大公约数、最小公倍数
1、程序调试题 试题一
该程序功能:输入m、n(要求输入数均大于0,且m>=n),输出它们的最小公倍数。 #include
/******** 1 *********/
while(scanf(\
// m<0 && n<0-?!(m>0&&n>0&&m>=n)
for(k=m; k%n!=0;) /******** 2 ********/
k=k+n; //改为:k=k+m printf(\} 6/8
2、程序填空题 试题一
该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。 #include
while(scanf(\ //!(n>0&&m>0) for( ____2____; n%k!=0||m%k!=0; k--); //k=m或k=n printf(\}
三、排序算法 1、程序调试题
7 of 41
该程序功能:用选择法对10个整数按升序排序。 #include
int i,j,min,temp;
int a[N]={5,4,3,2,1,9,8,7,6,0};
printf(\ /* 输出数组元素 */ for (i=0;i printf(\ for (i=0;i min = i; for (j=i+1; j if (a[min]<=a[j]) min =j; //<=----? > /****** 2 ******/ temp=a[min]; a[min]=a[j]; a[j]=temp; /* 数据交换 */ } //j--?i printf(\ /* 输出排序结果 */ for (i=0;i printf(\ printf(\} 2、程序设计题 该程序功能:用冒泡法对10个整数按升序排序。 #include int i,j,min,temp; int a[N]={5,4,3,2,1,9,8,7,6,0}; printf(\ /* 输出数组元素 */ for (i=0;i printf(\ // for (i=0;i for (j=0; j temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;} /* 数据交换 */ } printf(\ /* 输出排序结果 */ 8 of 41 for (i=0;i printf(\ printf(\} 四、数组 1、程序填空题 试题一 该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为:1 3 4 6 #include for(i=0;i<*m;i++) if(a[i]<0) { for(j=i--;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 试题二 该程序功能:函数f将数组循环左移k个元素,数组x[7]调用函数f后的输出结果为:4 5 6 7 1 2 3 #include for(i=0;i ___1___; //t=a[0] for( _______2________ ) a[j-1]=a[j]; //j=1;j void main() { int i,x[7]={1,2,3,4,5,6,7}; f(x,7,3); for(i=0;i<7;i++) printf(\ printf(\} 试题三 该程序功能:调用函数f,求二维数组a中全体元素之和。 9 of 41 #include float f( _______1_______) //float *x[],int m,int n { float y=0; int i,j; for(i=0;i void main() { float a[3][4]={{1,2,3,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(\} 试题四 求出数组a中相邻两个元素的和,并将这些和存放在数组a中,按每一行3个元素的形式输出。(例如:b[1]=a[0]+a[1],b[2]=a[1]+a[2]??,b[9]=a[8]+a[9]) #include int a[10],b[10],i; printf(\ \ for (i=0; i<10;i++) /* 数组输入 */ scanf(\ for (i=1; i<10; i++) b[i]=_ a[i-1]+a[i]_; /* 计算b数组中的元素 */ for (i=1; i<10; i++) { printf(\ if (_i%3==0_) printf(\ /* 每行打印3个数据 */ } } 2、程序设计题 试题一 设计程序:将数组a的每1行均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),然后将a数组写入到考生目录中Paper子目录下的新建文件design.dat中新建的文件design.dat中。 #include { float a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; FILE *p; /****以下要求考生写的代码****/ float temp; int i,j; p=fopen(“design.dat”,”w”); 10 of 41