簡體   English   中英

C 程序到 output 數組的最大元素與數組最大元素的索引

[英]C program to output the largest element of array with the index of the largest element of array

我正在參加我的第一次編程 class,其中大部分是自學的。 所以請多多包涵。

用戶輸入數字后,如10、20、100、3、4應該有一個output讀作“list1數組中最大元素的索引是_list1數組中最大的元素是100”“

到目前為止,這是我的代碼。 我知道如何獲取最大數組的 output 但不知道第一行或如何命名我的數組。 非常感謝。

#include<stdio.h>
int main()
{
int i;
float arr[5];

printf("Please enter five numbers:\n ");

for (i = 0; i < 5; ++i)
{

    scanf_s("%f", &arr[i]);
}

for (i = 1; i < 5; ++i)
{
    if (arr[0] < arr[i])
        arr[0] = arr[i];
}
printf("Largest element = %.2f", arr[0]);

return 0;
}

你知道,如果你知道它的索引,你就可以獲得元素。 這意味着,您可以存儲“已知最大”元素的索引,並且可以使用存儲的索引引用最大的元素。

int imax = 0;
for (i = 1; i < 5; ++i)
{
    if (arr[imax] < arr[i])
        imax = i;
}
printf("Largest element = %.2f at index %i\n", arr[imax], imax);

您在數組中查找最大元素的方法很好。 但它改變了原始數組。 如果你沒問題,那就繼續吧,否則如果你想保持數組完好無損並找到帶有索引的最大元素,然后檢查我附在下面的代碼。 如果您打算保持方法相同,則只需添加一個變量,當您發現更高的數字時應更新該變量,如下所示:

int max_index;       //declare before
if (arr[0] < arr[i]) {
     max_index  = i;
     arr[0] = arr[i];
}

此處的代碼將為您提供最大的元素是數組,但它也會更改輸入元素的順序。 您可以簡單地使用整數來存儲最大元素的索引,而不是將最大元素放在數組的第 0 位。您的程序可以這樣修改:

#include<stdio.h>
int main()
{
int i,temp=0;
float arr[5];

printf("Please enter five numbers:\n ");

for (i = 0; i < 5; ++i)
{

    scanf_s("%f", &arr[i]);
}

for (i = 1; i < 5; ++i)
{
    if (arr[temp] < arr[i])
    temp=i;
}
printf("Largest element = %.2f", arr[temp]);
printf("Index = %d",temp);

return 0;
}

給定數組中存在的最大元素

#include <stdio.h>

int main() {
   int size, i, largest, n;
  double arr[size];
  printf("Enter total number of elements : ");
  scanf("%d", &n);

  for (int i = 0; i < n; ++i) {
    printf("Enter number %d: ", i + 1);
    scanf("%lf", &arr[i]);
  }

  // storing the largest number to arr[0]
  for (int i = 1; i < n; ++i) {
    if (arr[0] < arr[i]) {
      arr[0] = arr[i];
    }
  }

  printf("Largest element = %.2lf", arr[0]);

  return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM