C查找数组中的最大数
我是C语言的新手,我试着让用户输入10个数字,然后在其中找到最大的一个。然而,有时它只是打印最后输入的最大数字,我不知道哪里出了问题C查找数组中的最大数,c,C,我是C语言的新手,我试着让用户输入10个数字,然后在其中找到最大的一个。然而,有时它只是打印最后输入的最大数字,我不知道哪里出了问题 void find_largest() { int numbers[10]; for (int i = 0; i < 10; ++i) { printf("Enter a number: "); scanf("%d"
void find_largest()
{
int numbers[10];
for (int i = 0; i < 10; ++i)
{
printf("Enter a number: ");
scanf("%d", &numbers[i]);
}
int largest = numbers[0];
for (int i = 1; i < 10; ++i)
{
if (numbers[i] > numbers[0])
{
largest = numbers[i];
}
}
printf("%d\n", largest);
}
void find_max()
{
整数[10];
对于(int i=0;i<10;++i)
{
printf(“输入一个数字:”);
scanf(“%d”和编号[i]);
}
int最大=数字[0];
对于(int i=1;i<10;++i)
{
如果(数字[i]>数字[0])
{
最大=数字[i];
}
}
printf(“%d\n”,最大);
}
基本上,您指定的最大元素的值是数组的第一个元素。但是在这个操作之后,您应该用数组的所有数字检查最大的元素。如果数组中的一个元素大于最大变量,则应将此值指定给最大变量,直到检查最后一个元素为止。
因此,您应该将
numbers[i]>最大值更改为if(numbers[i]>numbers[0])
应该为if(numbers[i]>最大值)
您尝试调试代码了吗?或者至少在这里和那里放上两个printf()
,以了解它是什么doing@dratenik是的,你说得对,我犯了个愚蠢的错误谢谢你的帮助@JackLilhammers不知道该怎么做c和c都不知道coding@sinisterfang你可以使用onlinegdb.com,他们的调试模式非常清晰。