} 答案: 1). 0
2). len++ 或 ++len 或 len=len+1 或 len=1+len 或 len+=1
第9题 (30.0分) 题号:634
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:随机产生10个范围在[0,99]之间,互不相同的正整数存入 数组t,并求出这10个数据的最小值和次小值。其中最小值 存入min1,次小值存入min2。程序中rand()函数功能是产 生一个随机正整数。
--------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。
-------------------------------------------------------*/
#include
int n[100]={0},t[10]; int i=0,k;
int min1=100, min2=100; srand(32767); while(i<10){ do{
k=rand()0; }while(n[k]); n[k]=1;
/***********SPACE***********/ t[【?】]=k; }
for(i=0;i<10;i++){ printf(\ if(t[i] /***********SPACE***********/ 【?】; min1=t[i]; } else if(t[i] } printf(\} 答案: 1). i++ 2). min2=min1 第10题 (30.0分) 题号:638 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最 小公倍数,其中最大公约数存入数组b中,最小公倍数存入 数组c中。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include void gcd(int a[],int n,int b[],int c[]){ int i,x,y,z; /***********SPACE***********/ for(i=0;i<【?】;i++){ x=a[i]; y=a[i+1]; while(z=x%y){ x=y;y=z; } b[i]=y; /***********SPACE***********/ c[i]=a[i]*a[i+1]/【?】; } } int main(){ int a[5]={8,12,5,7,14}; int b[4],c[4]; int i; gcd(a,5,b,c); for(i=0;i<5;i++) printf(\ printf(\ for(i=0;i<4;i++) printf(\ printf(\ for(i=0;i<4;i++) printf(\ printf(\ getch(); return 0; } 答案: 1). n-1 或 =n-2 2). b[i] 或 y 第11题 (30.0分) 题号:639 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:函数reverse()对字符串str进行逆序。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include void reverse(char str[]){ int len, j; char c; /***********SPACE***********/ len = 【?】(str); /***********SPACE***********/ for (j=len-1; 【?】; j--){ c=str[j]; str[j]=str[len-1-j]; str[len-1-j]=c; } } int main(){ char a[80]; printf(\ gets(a); reverse(a); printf(\ puts(a); getch(); return 0; } 答案: 1). strlen 2). j>=len/2 或 j>=len>>1 或 j>=(len>>1) 第12题 (30.0分) 题号:640 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留 一个。例如对数组a处理后,它的前11个元素为 {-5,7,-4,25,0,2,4,16,8,5,20}。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include int main(){ int a[20]={-5,-5,7,-4,-4,25,25,0,0,0,2,4,16,16,8,5,5,5,5,20}; int i,prev,next; prev=0; next=1; while(next<20){ /***********SPACE***********/ if(a[prev]!=【?】) a[++prev]=a[next]; next++; } /***********SPACE***********/