C语言程序设计练习题--程序填空
〖第2题〗(练习题所在文件夹:30)
/*------------------------------------------------------- 【程序填空】
--------------------------------------------------------- 题目:以下程序的功能是用冒泡法对数组a 进行由小到大的 排序。
-------------------------------------------------------*/
void fun(int a[],int n) {
int i,j,t;
/***********SPACE***********/ for (j=0; 【?】;j++)
/***********SPACE***********/ for (i=0; 【?】;i++)
/***********SPACE***********/ if(【?】)
{t=a[i];a[i]=a[i+1];a[i+1]=t;} }
main() {
int i,a[10]={3,7,5,1,2,8,6,4,10,9}; /***********SPACE***********/ 【?】;
for(i=0;i<10;i++) printf(\}
答案:
1). j<=n-1 或 n-1>=j 或 j<=-1+n 或 -1+n>=j 或 j
2). i 〖第4题〗(练习题所在文件夹:628) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 函数fun的功能是: 求有5个元素的一维数组各元素的和。 -------------------------------------------------------*/ float fun(float a[ ]) {int i; float s=a[0]; for(i=1;i<5;i++) /***********SPACE***********/ s+=【?】[i]; /***********SPACE***********/ return 【?】; } void main() {float sco[5],sum; int i; printf(\for(i=0;i<5;i++) /***********SPACE***********/ scanf(\【?】); /***********SPACE***********/ sum=fun(【?】); printf(\} 答案: 1). a 2). s 3). &sco[i] 或 sco+i 4). sco 或 &sco[0] 〖第5题〗(练习题所在文件夹:5) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:以下程序是用选择法对10个整数按升序排列,程序中有4个空, 填空使程序完整。 -------------------------------------------------------*/ /***********SPACE***********/ 【?】 main() { int i,j,k,t,a[N]; for(i=0;i<=N-1;i++) scanf(\ for(i=0;i /***********SPACE***********/ 【?】 /***********SPACE***********/ for(j=i+1; 【?】;j++) if(a[j] if(【?】){t=a[i];a[i]=a[k];a[k]=t;} } printf(\ for(i=0;i<=N-1;i++) printf(\ printf(\} 答案: 1). #define N 10 2). k=i; 3). j 〖第6题〗(练习题所在文件夹:17) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:以下程序的功能是将一个数组中的元素按逆序存放。 -------------------------------------------------------*/ #define N 7 main () { static int a[N]={12,9,16,5,7,2,1},k,s; printf(\ for (k=0;k printf(\ /***********SPACE***********/ for (k=0;k s=a[k]; /***********SPACE***********/ 【?】 ; /***********SPACE***********/ 【?】 ; } printf(\ for (k=0;k /***********SPACE***********/ 【?】 (\} 答案: 1). k++ 或 k=k+1 或 k+=1 或 ++k 2). a[k]=a[N-k-1] 或 a[k]=a[N-1-k] 或 a[k]=a[6-k] 或 a*(a+k)=*(a+N-k-1] 或 *(a+k)=*(a+N-1-k] 或 a[k]=a[-1+N-k] 或 a[k]=a[-1-k+N] 或 a[k]=a[-k-1+N] 或 a[k]=a[-k+N-1] 或 *(a+k)=*(a+N-k-1) 或 a[6-k]=s 3). a[N-k-1]=s 或 a[N-1-k]=s 或 a[6-k]=s 或 a[N-k-1]=s 或 *(a+N-k-1)=s 4). printf 〖第7题〗(练习题所在文件夹:604) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:从键盘上输入20个元素的值存入一维数组m中,然后将下标 为(0、2、4、6、8、10……18)的元素值赋值给数组n,最 后输出数组n的内容。请填空 -------------------------------------------------------*/ main() { int m[20],n[10]; int a,b=0; for(a=0;a<20;a++) { /***********SPACE***********/ scanf(\【?】); /***********SPACE***********/ if(【?】) { n[b]=m[a]; /***********SPACE***********/ 【?】 } } /***********SPACE***********/ for(a=0;【?】;a++) printf(\} 答案: 1). &m[a] 2). a%2==0 或 a%2 或 a%2!=1 3). b++; 或 b+=1; 或 b=b+1; 或 b=1+b; 4). a<10 或 a<=9 或 a 〖第8题〗(练习题所在文件夹:3) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:下面的程序是求1!+3!+5!+……+n!的和,程序中有4个 空,填空使程序完整。 -------------------------------------------------------*/ main() { long int f,s; int i,j,n; /***********SPACE***********/ 【?】 scanf(\ /***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++) /***********SPACE***********/ 【?】 s=s+f; } printf(\} 答案: 1). s=0; 2). i+=2 或 i=i+2 或 i++,i++ 或 i=2+i 3). j<=i 或 i>=j 或 jj 4). f=f*j; 或 f*=j; 〖第10题〗(练习题所在文件夹:28) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:下面函数为二分法查找key值。数组中元素已递增排序, 若找到key则返回对应的下标,否则返回-1。 -------------------------------------------------------*/