gpt4 book ai didi

C - 对数组描述进行排序

转载 作者:行者123 更新时间:2023-11-30 21:37:22 25 4
gpt4 key购买 nike

我花了几个小时思考这个问题的可能解决方案,我得到了一个,但时间太长了,我认为我使解决方案比平常更难。

你能帮我用 C 实现这个结果吗?

输入(示例):

  int input[4] = {40, 10, 50, 23}
//The solution would be 2, 0, 3 ,1
input[0] = 40;
input[1] = 10;
input[2] = 50;
input[3] = 23;

我想要什么:

int order[4] = {2, 0, 3, 1} 

顺便说一句,我需要维护输入数组,因此我确实需要为订单创建另一个数组。

编辑:

好吧,我修改了一些代码,这对我有用,谢谢大家。

for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (i==j)
continue;
if (decimalpart[i]<decimalpart[j])
ordem[i]++;
}
}

这也适用于 double / float 。这不是这个具体的例子,数组列表是随机的。

最佳答案

你在这里:

int i,j;
int input[] = {40, 10, 50, 23};
int size = sizeof(input)/sizeof(int);
int order[size];
for (i = 0; i < size; i++) {
order[i] = 0;
}
for (i = 0; i < size; i++) {
for (j = 0; j < size; j++) {
if (i==j) {
continue;
}
if (input[i]>input[j]) {
order[i]++;
}
}
}
for (i = 0; i < size; i++) {
printf("%d, ",order[i]);
}

关于C - 对数组描述进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34124042/

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