Я вроде как новый для использования в массивах, поэтому я попытаюсь изо всех сил прокомментировать, какие части этого кода я знаю, и тогда я надеюсь, что вы поможете мне объяснить и прояснить остальных. Цель состоит в том, чтобы получить 10 элементов (номера), а затем отсортировать их в порядке (самый большой для маленьких и наоборот)Можете ли вы объяснить, как этот код работает для меня?
#include <stdio.h>
#include <stdlib.h>
void input();
void sort();
int array[10];
int main()
{
char ans='y';
while(ans=='y'||ans=='Y') /// Run the program while 'y' is entered
{
input(); // run the input function
sort(); // run the sort function
printf("\n Run Program Again?"); // ask user for input (char ans)
scanf("%s",&ans);
}
}
void input()
{
int x;
for (x = 0; x < 10 ; x++)
{ //This is where I get confused. If my int x is =0, less than 10, I don't know what "++ means
printf("\nInput: "); //ask for input
scanf("%d", &array[x]); //get the input typed in and place in array x
}
}
void sort()
{
{
int x = 0;
int y = 0;
int z = 0;
int biggerNum = 0;
int smallerNum = 0; //set values for integers
for (z = 10; z > 0; z--) { // can someone explain this part?
for (x = 0; x <= 10; x++) {
if (array[z] < array[x])
continue;
else {
biggerNum = array[z];
smallerNum= array[x];
array[z] = smallerNum;
array[x] = biggerNum;
printf("\n%d\t%d",array[z],array[x]);
}
}
}
printf("\nDescending order:");
for (x = 0; x < 10; x++) // this is the algorithm for going down
printf("\n %d",array[x]);
printf("\nAscending Order:"); // same for going up
for (x = 10; x > 0; x--)
printf("\n %d",array[x]);
}
}