C语言高手请进 有分加

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:36:10
1. 编程: 输入一个正整数n (1<n<=20),再输入n个整数,用选择法将它们从大到小排序后输出。要求实现并在主函数中调用以下两个函数:
(1) int max_index(int a[], int k, int n)
函数功能:找出数组a中下标为k的元素至最后一个元素(下标为n-1)中数值最大的元素的下标index,并将index作为函数的返回值。
(2) void swap(int *a, int *b)
函数功能:交换两个整型变量的值。

/*win-tc*/
void swap(int *a, int * b);
int max_index(int a[], int k, int n) ;
void sort(int a[], int n);/*选择法*/

void main()
{
int i, j;
int n, a[20];
printf("input n(1 < n < 20):");
scanf("%d", &n);
printf("input %d numbers.\n", n);
for(i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
printf("the first function value's index(from 0):%d\n", max_index(a, 3, n));
printf("after sort:\n");
sort(a, n);
getch();
}

void sort(int a[], int n)/*选择法*/
{
int i, j, k, temp;
for(i = 0; i < n - 1; i++)
{
k = i;
for(j = i + 1; j < n; j++)
{
if(a[k] < a[j])
{
k = j;
}
}
/*swap(&a[i],