【?】 } 答案:
1). a[i+1]=a[i]; 2). print_array(a,11);
第19题 (30.0分) 题号:647
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:使用冒泡法将10个随机生成的浮点数进行大到小的排序, 并将排好序的10个数分两行输出。
--------------------------------------------------------- 注意:除要求填空的位置之外,请勿改动程序中的其他内容。 且不能使用C语言的库函数进行填空。
-------------------------------------------------------*/
#include
void bubble_sort(float f[],int n){ int i,j; int swap=1; float t; i=0;
while(i for(j=0;j /***************SPACE***************/ if(【?】) { t=f[j]; f[j]=f[j+1]; f[j+1]=t; swap=1; } } i++; } } void main(){ int i; float f_data[COUNT]; srand((unsigned)time(NULL)); /*随机生成10个浮点数*/ for(i=0;i f_data[i]=(float)(rand()?0+100)/(float)10.0; printf(\ /***************SPACE***************/ bubble_sort(【?】); printf(\ for(i=0;i if(i%5==0) printf(\ printf(\ } printf(\} 答案: 1). f[j] 第20题 (30.0分) 题号:649 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:统计从键盘输入的一行字符中单词的个数,单词之间用空 格分开。 --------------------------------------------------------- 注意:除要求填空的位置之外,请勿改动程序中的其他内容。 且不能使用C语言的库函数进行填空。 -------------------------------------------------------*/ #include int word_stat(char string[]) { char c; int i,word=0; int wnum=0; /***************SPACE***************/ for (i=0;【?】;i++) if(c==' ') word=0; else if(word==0) { word=1; wnum++; } /***************SPACE***************/ 【?】 } void main() { char string[100]; printf(\ gets(string); printf(\} 答案: 1). (c=string[i])!='\\0' 或 c=string[i] 或 (c=string[i])!=0 2). return wnum; 或 return(wnum); 第21题 (30.0分) 题号:650 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:输入一字符串,检查字符串是否满足以下条件: (1)字符串s中左括号“(”的个数与右括号“)”的个数相 同; (2)从字符串s的首字符起顺序查找右括号“)”的个数在 任何时候均不超过所遇到的左括号“(”的个数。若字 符串同时满足上述两个条件,函数返回1,否则返回0。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include int fun(char s[]); char s[80]; int c; printf(\ gets(s); c=fun(s); printf(\} int fun(char s[]) { int c1,c2,i; i=c1=c2=0; while(s[i]!='\\0') { if(s[i]=='(') c1++; else if(s[i]==')') { c2++; /***********SPACE***********/ if(【?】) return(0); } i++; } /***********SPACE***********/ return(【?】); } 答案: 1). c2>c1 或 c1 第22题 (30.0分) 题号:651 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:对二维数组a中存储的N*N矩阵做如下操作:先将每一行中值 最大的元素与该行位于主对角线处的元素交换,然后对主对 角线上所有元素排序使其自左上角到右下角升序排列,最后 输出排序后主对角线上各元素的值。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 -------------------------------------------------------*/ #include void fun(int x[][N],int n) { int i,j,t,arr,col; for(i=0;i arr=x[i][0];col=0; for(i=0;i arr=x[i][0];col=0; /***********SPACE***********/ for(j=0;j for(i=0;i { t=x[i][i]; x[i][i]=x[j][j]; x[j][j]=t;} } } void main() { int a[N][N]={{10,25,24,13,23},{11,22,12,21,14},{20,15,19,16,18}, {17,9,4,5,3},{2,1,6,7,8}}; int i; fun(a,N); for(i=0;i