调用自定义函数Input从键盘读入10个数到arrA中,再读入一个数num(这些数均≥0,且无重复数),然后调用自定义函数Min在数组arrA中查找大于num的最小数,输出查找结果,没有找到输出“not Find!”
函数接口定义:
void Input(int a[],int m);
int Min ( int a[ ], int m, int num);
Input函数 将数据读入数组中;
Min函数 返回数组中的大于num的最小数,没有返回-1
裁判测试程序样例:
#include <stdio.h>void Input(int a[],int m);
int Min(int a[],int m, int num);int main(void)
{
int arrA[10], num, minA;Input(arrA,10);
scanf("%d", &num);minA = Min(arrA,10,num) ; // 调用函数查找在arrA中大于num的最小数
if (-1 == minA)
{
printf("not Find!\n");
}
else
{
printf("%d\n", minA);
}return 0;
}/* 请在这里填写答案 */
输入样例:
18 299 45 33 66 3 11 57 70 100 40
输出样例:
45
输入样例:
18 99 45 33 66 3 11 57 70 100 110
输出样例:
not Find!
//自己写的,感觉第二个函数有点麻烦了 void Input(int a[],int m){ int i; for(i=0;i<m;i++){ scanf("%d",&a[i]); } } int Min ( int a[ ], int m, int num){ int i,j=0,flag=0,s[m];//定义变量,我通常都是先定义像i,j,这样的, //等到后面需要用到新的变量时,直接定义,然后写完再补充 for(i=0;i<m;i++){//先找到数组中小于num的数,如果有的话 if(a[i]>num){ s[j]=a[i]; j++; flag=1;//flag就相当于一个标记,后面方便返回值,真的很好用 } } //int min=s[0]; if(flag){//这句表示数组中含有小于num的数 int min=s[0]; for(i=0;i<j;i++){//找最小值 if(min>s[i]) min=s[i]; } return min; } else return -1; // if(flag==0)printf("not Find!"); // else re }