![](https://csdnimg.cn/release/download_crawler_static/39103969/bg1.jpg)
初级程序员下午试题模拟 51
试题一
阅读以下说明和流程图,填补流程图中的空缺 (1) ~(5) ,将解答填入对应栏中。
[ 说明 ]
本流程图采用“双向冒泡法”实现对数组 a[n] 的排序。双向冒泡法就是在
逐步缩小的数组内,分别从数组的两端开始向内搜索,同时将大数往上浮,小
数往下沉,每次交换一组数。 flag 是一个标志,发生过交换就置为 1,当这个
循环过程都不再发生交换时,则数组排序完成。
注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”
格式描述 ;
定义 SWAP[a,b] 为将 a 和 b 两数交换。
[ 流程图 ]
[ 问题 ]
将流程图的 (1) ~(5) 处补充完整。
试题二
阅读下列函数说明和 C语言函数,将应填入 (n) 处的字句写在对应栏内。
[ 函数 2.1 说明 ]
函数 int strcmp(char *s ,char *t) 的功能是比较两个字符串 s 和 t 的大
小。若 s<t ,函数返回负数 ; 若 s=t ,函数返回 0; 若 s>t ,函数返回整数。
[ 函数 2.1]
int strcmp(char *s,char *t)
{while(*s && *t && (1) ){
s++; t++;
}
return (2) ;
}
[ 函数 2.2 说明 ]
在 n 行 n 列的矩阵中,每行都有最大的数,求这 n 个最大数中最小的一个。
[ 函数 2.2]
#include <stdio.h >
#define N 100
int a[N] [N];
void main()
{int row,col,max,min,n;
scanf("%d" ,&n);
for(row=0; row <n; row++)
for(col=0; col <n; col++)
scanf("%d", &a[row] [col]);
for (row=0; row <n; row++){
for (max=a[row][0],col=1; col <ri; col++){