填空题
1. 请补充main()函数,该函数的功能是:如果数组arr的前一个元素比后一个元素小,则把它保存在数组bb中并输出。
例如,若数组中的元素为:40,68,62,33,35,52,48,95,66,73,则输出:40,33,35,48,66。
注意:部分源程序如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序: #include<stdlib.h>
#include<stdio.h>
#define M 10
void main()
{
int i,n=0;
int arr[M]={40,68,62,33,35,52,48,95,66,73};
int bb[M];
system("CLS");
for(i=0;i<______;i++)
if(arr[i]<arr[i+1])
______;
printf("\n***display bb***\n");
for(i=0;i<n;i++)
printf("bb[%d]=%2d",______);
}
【正确答案】
1、M-1
bb[n++]=arr[i]
i,bb[i]
【答案解析】 由整个for循环可知,变量i为数组arr的下标,题目要求取出前一个元素比后一个元素小的元素,所以只需要判断前M-1个元素即可,因此,第一空处填“M-1”;如果第i个元素比第i+1个元素小,将第i个元素放入数组bb中,因此,第二空处填“bb[n++]=arr[i]”。最后,要输出数组bb中的每一个元素,因此,第三空处填“i,bb[i]”。