C語言上的問題編寫函式,返回double陣列中儲存的

2022-09-17 10:00:23 字數 3397 閱讀 1547

1樓:久_宇

你的程式有問題,不是簡單的語句錯誤,你的思路錯了,你看一下你的程式根本就不是在找最大值的索引,而是在找第一次出現數字變小的那個數字的索引,這樣說有點模糊,舉幾個例子,來說明一下你的程式是在幹什麼。例如,你要是搜尋序列1,2,3,1,4,5,6那麼會返回2,因為第二個數字(也就是3),開始第一次下降,因為下一個數字為1,比3小,所以你的程式就開始返回了,並且返回2。再舉個例子,例如搜尋序列2,4,6,8,5,7,9那麼你的程式就會返回索引3,因為第三個數字(即8),開始出現下降,下一個數字為5,比8小,所以你的程式就開始返回了,並且返回值為8的索引3(即第3個數字)。

不知道你是否明白了,其實你的意思是想找出最大的那個,就只要max對所有的數字遍歷一下,並且不斷更新為更大的值,而且用max1緊隨其後標記更新的最大值的索引,max1=i;而將return max1;放到呼叫函式的最後面一句就可以了。 如果你還是不太明白可以追問我,要是你真的明白了,可以做一下選擇排序的題目,會讓你加深理解的

2樓:匿名使用者

if(max

中的max1++,應該改為max1=i;

3樓:匿名使用者

就應該是3 啊,

你的index函式是幹什麼的?

c語言編寫一個函式,找出一維陣列中的最大值和最小值,並計算出陣列元素的平均值。

4樓:岔路程式緣

前面已經有兩位高手做出了回答,我執行了一下,《怺逺恆暒》有時候得不到正確的結果;《kaixingui2012》的不能執行,提示型別不對。不知道什麼原因,也許是我的版本有問題?

我也做了一個,感覺執行還是不錯的。請比較吧!

#include "stdio.h"

double fun(double a,int n,int *max,int *min);/*函式原型宣告:其中a為陣列,

n為陣列元素個數,max指向最大數,min指向最小數,函式返回值為平均值*/

int main()

if(a[i]

sum=sum+a[i];

return sum/n;}

5樓:怺逺恆暒

#include

double fun(double a,int n,int* max,int* min)

if (a[i] < min_a)

}return ans / n;

}int main()

;printf("平均值

printf("最大值下標:%d\n",max);

printf("最小值下標:%d\n",min);

return 0;

}//不好意思 之前版本有漏洞 現在改過來了#include

double fun(double a,int n,int* max,int* min)

//之前忘了更新max_a 和 min_aif (a[i] < min_a)

}return ans / n;

}int main()

printf("平均值:%.3lf\n",t);

printf("最大值下標:%d\n",max);

printf("最小值下標:%d\n",min);

return 0;}

6樓:匿名使用者

double fun(double a,int n,int*max,int*min)

return sum/n ;}

c語言 通過自定義函式 尋找並返回陣列最大值的位置下標 最大值有多個時 輸出第一個最大值的下標

7樓:

#include

#include

int fun(int a[1000], int t)main(){

int x[1000];

int i,n,maxid;

scanf("%d",&n);

for(i=0;i

8樓:尋秦記記

你的核心函式寫的有點問題,在主函式中的呼叫不需要再使用迴圈了,這是我寫的**,你看一下:

#include

#include

int fun(int a[1000],int t);

int fun(int a[1000],int t)}return num;

}int main()

9樓:

第一:你main函式裡的for迴圈時幹啥的?

第二:fun函式的返回值沒有東西接收啊

求這幾個c語言的程式 1、 編寫一個函式,使其向主函式返回3個整數引數中的最大值,並在主函式中輸出

10樓:鮋

#include

int max(int x,int y,int z);

int main()

int max(int x,int y,int z)

11樓:快樂才是愛

1,int i,j,k;

if(i>j&i>k);

else if(j>k) i=j;

else i=k;

printf("%d",i);

c語言程式設計:編制函式,其功能是在float型別一維陣列中查詢最大值、最小值,並將它們返回到呼叫程式。

12樓:滄海雄風

#include

void fun(float a,float *mx,float *mi)

else}}

}main()

,maxf=0,minf=0;

scanf("%d",&n);

for (i=0;i<10;i++)

fun(a,&maxf,&minf);

printf("maxf[%f] minf[%f]\n",maxf,minf);}10

1234

5678

90maxf[9.000000] minf[0.000000]press any key to continue

13樓:

//陣列版本

#include

#define n 100

int main()

printf("%g %g",max,min);

return 0;

}求採納,謝謝

14樓:匿名使用者

按最大或最小排序,然後輸出陣列兩頭的不就行了

糾錯 c語言 函式返回指標問題

解釋如下 因為q宣告的是一個區域性變數,所以在函式呼叫結束後它所開闢的記憶體空間就會被系統收回 它裡面的內容也就銷燬了,因此它輸出的是一段亂碼!改下程式 include include include char t char copy char p,int m void main 輸出的是什麼?一起...

c語言函式返回值,c語言的函式返回值?

這個跟庫函式的定義有關。還有就是編譯器的差異。有些編譯器預設是非0為真,有些非 1為真。建議不要使用這麼簡單粗暴的辦法判斷。請使用c提供的標準巨集判斷。在 學的。呃。自己寫 寫多了自然就知道了 根據你的程式來看應該是一個void型,不過你這是一個交換資料函式,如果這樣傳進來,是修改不了原址的 而如果...

C 函式返回引用問題,c 函式返回引用問題

include using namespace std int a int index int i 這裡需要申明一下 否則main不能呼叫index函式 int main index 2 25 cout 返回引用 1 主函式main的返回值 這裡提及一點,返回0表示程式執行成功。2 返回非引用型別 ...