gpt4 book ai didi

c - 如何手动执行此操作。如何获取对 Print_Array 的第三次、第五次和第七次调用的输出?

转载 作者:行者123 更新时间:2023-11-30 15:02:22 26 4
gpt4 key购买 nike

    #include <stdio.h>
#include <stdlib.h>

#define SIZE 10
void Print_Array(int values[], int length);
void swap(int values[], int i, int j);
void Move_Max(int values[], int max_index);
void Simple_Sort(int values[], int length);

int main() {

如何使用这些号码?
SIZE 和 length 是一回事吗?

        int my_vals[SIZE] = {83, 89, 94, 73, 11, 33, 25, 34, 73, 41};

Print_Array(my_vals, SIZE); //<- FIRST CALL TO PRINT

Simple_Sort(my_vals, SIZE);


system("PAUSE");
}

void Simple_Sort(int values[], int length) {
int i;

所以这里的长度是10?
我是从 my_vals 的末尾开始吗?那么我会从73岁开始吗?既然是10-1 = 9?那么第 9 个就是 73?

        for (i = length - 1; i > 0; i--)
{
Move_Max(values, i);
Print_Array(values, SIZE);
}
}

void Move_Max(int values[], int max_index) {
int max, i, maxi;
max = values[0];
maxi = 0;
for (i = 1; i <= max_index; i++)
{
if (max < values[i])
{
max = values[i];
maxi = i;
}
}
swap(values, maxi, max_index);
}

void swap(int values[], int i, int j) {
int temp;
temp = values[i];
values[i] = values[j];
values[j] = temp;
}

void Print_Array(int values[], int length) {
int i;
for ( i = 0; i < length; i++)
printf("%d", values[i]);
printf("\n");
}

最佳答案

当你声明一个数组时,假设你已经声明了int数组A[4],所以这意味着数组A长度为4,即A[0]A[3]。在您的情况下,my_vals数组的长度为10,即my_vals[0]my_vals[9]

my_vals[0] = 83

..

..

my_vals[9] = 41

在 for 循环中,您从最后一个迭代,即从 my_vals[9] 即 41

for (i = length - 1; i > 0; i--)

因此i的初始值为9。

但是这里你需要迭代直到i = 0 即

for (i = length - 1; i >= 0; i--)

关于c - 如何手动执行此操作。如何获取对 Print_Array 的第三次、第五次和第七次调用的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41083211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com