gpt4 book ai didi

c - 寻找最小的整数

转载 作者:太空宇宙 更新时间:2023-11-04 02:47:12 24 4
gpt4 key购买 nike

所以我觉得我真的很接近答案了。只是我无法弄清楚我到底错过了什么。该程序用随机数填充一个数组,然后运行它以找出最小的数字。一旦它找到最小的数字,它就会把它连同它的位置打印出来。我在使用 for 循环查找最小整数时遇到了问题。

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

void main(int argc, char* argv[])
{
const int len = 8;
int a[len];
int smallest;
int location =1;
int i;

srand(time(0));

//Fill the array
for(i = 0; i < len; ++i)
{
a[i] = rand() % 100;
}

//Print the array
for (i = 0; i < len; ++i)
{
printf("%d ", a[i]);
}
printf("\n");

//Find the smallest integer
smallest = a[0];
for (i = 1; i < len; i++)
{
if (a[i] < smallest)
{
smallest = a[i];
location = i++;
}
printf("The smallest integer is %d at position %d\n", smallest, location);
getchar();
}
}

最佳答案

问题是这样的:

location = i++;

这一行实际上改变了 i 的值,它是你用来循环的索引,所以一些元素被跳过了——基本上大约有一半被跳过了。

你可能想要像下面这样的东西,它做一个简单的赋值而不改变 i 的值:

location = i + 1; 
//or location = i,
//depending on whether you want to print the location as 0-based or 1-based

关于c - 寻找最小的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050338/

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