возраст печати в порядке убывания с использованием массива и функций в c

#c

Вопрос:

У меня возникли проблемы с печатью возраста в порядке убывания и второго по величине возраста, используя массив и функцию в c. Я могу ввести возраст, но я не могу распечатать элементы массива.И мне нужно решить этот вопрос с параметрами.

 #include<stdio.h>
void read(int[],int);
void age(int[],int);
int main()
{
    int arr[20],s;
    read(arr,s);
    age(arr,s);
}
void read(int arr[20],int s)
{
    int i;
    printf("Enter number of students:");
    scanf("%d",amp;s);
    printf("Enter age of %d sutdents:n",s);
    for(i=0;i<s;i  )
    {
        printf("Age of student %d:",i 1);
        scanf("%d",amp;arr[i]);
    }
}
void age(int arr[20],int s)
{
    int i,j,a;
    for(i=0;i<5;i  )
    {
        for(j=i 1;j<5;j  )
        {
            if(arr[i]>arr[j])
            {
                a=arr[i];
                arr[i]=arr[j];
                arr[j]=a;
            }
        }
    }
    printf("The ages in descending order are:n");
    for(i=s;i>=0;i--)
    {
        printf("%dn",arr[i]);
    }
}```
 

Комментарии:

1. вместо отправки s по значению на read , попробуйте указатель. В s противном случае функция in main не обновляется.

2. Большое вам спасибо 🙂

Ответ №1:

 #include<stdio.h>
void read(int[],int);
void age(int[],int);
int main()
{
 int arr[20],s;
 read(arr,s);
 //age(arr,s); //changed here
 }
 void read(int arr[20],int s)
 {
  int i;
  printf("Enter number of students:");
  scanf("%d",amp;s);
   printf("Enter age of %d sutdents:n",s);
   for(i=0;i<s;i  )
   {
    printf("Age of student %d:",i 1);
    scanf("%d",amp;arr[i]);
    }

     age(arr,s); //changed here
 }
void age(int arr[20],int s)
{

int i,j,a;
for(i=0;i<s;i  ) //changed here
{
    for(j=i 1;j<s;j  ) //changed here
    {
        if(arr[i]>arr[j])
        {
            a=arr[i];
            arr[i]=arr[j];
            arr[j]=a;
        }
    }
}
printf("The ages in descending order are:n");
for(i=s-1;i>=0;i--) //changed here
{
    printf("%dn",arr[i]);
}
 

}

Надеюсь, вы понимаете.Спасибо