[英]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.