我想使用递归找到数组的最大和最小元素。这是我编写的程序,我已经完成了逻辑,它似乎很完美。但是当我编译程序时,程序在输入后卡住了。
这是我的程序:
#include<stdio.h>
#include<conio.h>
int max(int a[], int n);
int min(int a[], int n);
void main(){
int a[100],n,i,maxi,mini;
clrscr();
printf("Enter the number of elements ");
scanf("%d",&n);
printf("Enter the elements of array ");
for(i=0;i<n;i++)
{
scanf("%d \n",&a[i]);
}
maxi = max(a,n);
mini = min(a,n);
printf("\nMaximum element : %d",maxi);
printf("\nMinimum element : %d",mini);
getch();
}
int max(int a[],int n){
int maxo=0,i=0;
if(i<n){
if(maxo < a[i]){
maxo=a[i];
}
i++;
max(a,n);
}
return maxo;
}
int min(int a[],int n){
int mino=999,i=0;
if(i<n){
if(mino > a[i]){
mino=a[i];
}
i++;
min(a,n);
}
return mino;
}