C語言。定義20元素的一維陣列,從鍵盤輸入元素,找出元素中的最大值,最小值

時間 2022-05-06 08:02:01

1樓:雲淡風輕in蘇州

#include

int main()

while (i < 19);

if(arr[i] > max)

max = arr[i];

if(arr[i] < min)

min = arr[i];

printf("max is %d, min is %d", max, min);

return 0;

}1、陣列越界

2、找最大最小應該是每個都與最終的最大最小值比較的如果不考慮特殊的輸入值,可以給min和max初始值,**會簡單很多:

#include

int main()

printf("max is %d, min is %d\n", max, min);

return 0;}

2樓:緩緩掉落的松針

好好想想你的for迴圈是怎麼進行的。

第一次,m=0,執行輸出「qingshuru:」,然後執行一次輸入,將輸入結果儲存在x[0]中,這時x[1]中還沒有數字,你就開始拿x[1]來作比較了,怎麼能實現。。。

3樓:孤0鴻

陣列越界了啊,,,,你定義的陣列是5個元素,最大到x[4],你仔細看看你的迴圈,當m=4時,你裡邊有x[m+1],沒有這個元素啊...

4樓:匿名使用者

錯誤原因不說了,給乙份我剛寫的吧:

#include

#define n 20

void main()

num_min = data[0];

num_max = data[0];

//遍歷一遍

for (int i = 0; i < n; ++i)if (num_max < data[i])}//輸出最大與最小

printf("the max is:%d\nthe min is:%d", num_max, num_min);

}ps:scanf_s是scanf的安全版本(vs2013版本)

程式設計求出任意乙個一維陣列元素中最大值和最小值的下標。陣列元素的值由使用者鍵盤輸入

5樓:珈藍惜夢

源程式**以及演算法解釋如下:

#define _crt_secure_no_warnings//vs環境下需要,vc不需要

#include

using namespace std;//引用命名空間

void main()

if (number[i] < min)//如果小那麼取出來

}cout << "max: " << max << endl;

cout << "min: " << min << endl;

cout << "i_max: " << i_max << endl;

cout << "i_min: " << i_min << endl;

}程式執行結果如下:

擴充套件資料:

對任意乙個一維陣列,從中找出陣列元素的最大值和最小值並輸出 。

要求:1)陣列有10個元素;

2)使用scanf函式實現陣列元素的輸入,輸入前給出必要的提示資訊;

3)輸出時,首先輸出陣列的十個元素,然後輸出其最大值和最小值。

樣例輸入

1 2 3 4 5 6 7 8 9 0

樣例輸出

a[0]=1

a[1]=2

a[2]=3

a[3]=4

a[4]=5

a[5]=6

a[6]=7

a[7]=8

a[8]=9

a[9]=0

max:9,min:0*/

#include

int main()

printf("max:%d,min:%d",max,min);

return 0;

}

6樓:願者上鉤

**: #include

void main()

else

if(a[i]

} }

printf("最大值的下標是%d(下標從0開始)\n",max_f);

printf("最小值的下標是%d(下標從0開始)\n",min_f);

} 圖:

c語言程式設計:將從鍵盤輸入的20個整數存入一維陣列中,計算所有元素的和、平均值及最大值並輸出

7樓:

#include

int main(void)

{int a[20];

int i=0;

for (;i<20;i++)

scanf("%d",&a[i]);

int result=0;

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

result+=a[i];

printf("和為:%d\n平均值為:%f\n",result,result/20.0);/*20.0不能改為20*/

result=a[0]

for (i=1;i<20;i++)

{if (result

c語言:定義乙個包含10個元素的一維陣列找出其中的最大值讓其與第乙個元素交換,找出最小值與最後乙個

8樓:大野瘦子

**如下:

#include

#include

#include

void main(){

int i, a[10], max, min, pmax, pmin, tmp;

srand(time(null));

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

a[i] = rand()%100+0;

printf("這十個數分別為:\n");

for (i=0; i<10; i++){printf("%d\t", a[i]);

max = a[0];

pmax = 0;

for(i=1; i<10; i++){

if(a[i] > max){

max = a[i];

pmax = i;

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

min = a[0];

pmin = 0;

for(i=1; i<10; i++){

if(a[i] < min){

min = a[i];

pmin = i;

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

tmp = a[0];

a[0] = a[pmin];

a[pmin] = tmp;

tmp = a[9];

a[9] = a[pmax];

a[pmax] = tmp;

printf("\n\n經過調整過後的十個數分別為:\n");

for (i=0; i<10; i++){printf("%d\t", a[i]);

9樓:

#include

int main()

c語言定義乙個含10個元素的整型陣列,從鍵盤輸入陣列所有元素的值,並求該陣列中的最小值和最小值的下標

10樓:劉子超1號

把y++改成y=n。

因為判斷時可能會跳過某些元素,但是跳過時y沒有自加,於是y會出錯。

例如2 3 4 5 1,結果會是min=1,但是y僅自加一次,於是y=1,錯誤.

C語言函式定義問題,c語言定義函式是什麼

x,y用空格隔開,就可以一次讀,至於斷開 可以用加斷點除錯看是在 斷的。這段 沒有問題啊,怎麼呼叫失敗了?scanf d d x,y 用空格隔開,別用逗號。c語言定義函式是什麼?將 段封裝成函式的過程叫做函式定義。函式可以重複使用的 用來獨立地完成某個功能,它可以接收使用者傳遞的資料,也可以不接收。...

C語言中變數定義為near,c語言怎麼定義字串變數啊?

這是歷史遺留問題,dos系統執行於intel的8086 8088這個16位cpu,但這cpu有20條位址匯流排,16位的暫存器就無法直接定址20位的位址,於是搞出來乙個段偏移的概念,把1m的記憶體空間按64k分段,以段位址 偏移位址的方式實現20位位址。cpu有許多預先設計好的段暫存器,程式執行的時...

c語言定義字串陣列,C語言 如何定義字串陣列

天方夜譚的哆啦a夢 c語言字串陣列中的每乙個元素均為指標,即有諸形如 ptr array i 的指標。由於陣列元素均為指標,因此ptr array i 是指第i 1個元素的指標。例 如二維指標陣列的定義為 char ptr array 3 擴充套件資料 字串陣列陣列元素表示方法 陣列元素的一般形式為...

c語言如何定義二進位制變數,C語言如何定義二進位制變數?

c語言中沒有 二進位制變數 這一說法!c語言中的資料基本型別包括 char short int long float double 用哪種型別定義的就叫xx型別變數,如字元型變數,整型變數,浮點型變數。各種變數中儲存的資料,都是以二進位制進行儲存的。因型別的不同,採用的二進位制編譯格式不同。如 整形...

c語言如何定義二進位制變數,C語言如何定義乙個二進位制變數

c語言中沒有 二進位制變數 這一說法!c語言中的資料基本型別包括 char short int long float double 用哪種型別定義的就叫xx型別變數,如字元型變數,整型變數,浮點型變數。各種變數中儲存的資料,都是以二進位制進行儲存的。因型別的不同,採用的二進位制編譯格式不同。如 整形...