C語言輸入整數,用函式程式設計將其中最大數與最小數的位置互換然後輸出

2021-08-06 03:16:35 字數 2724 閱讀 8435

1樓:匿名使用者

1.找出陣列中的最大值和最小值索引位置,然後將其交換即可#include

// 交換最大、最小值位置

void swaplimval(int *src, int len)else if (min > src[i])// 元素如果比最小數的,則重置最小值,及其索引

}if (maxlen == minlen) // 如果所有值一樣,不用交換

return;

int tem = src[maxlen]; // 交換最大、最小值src[maxlen] = src[minlen];

src[minlen] = tem;

}int main()

2樓:匿名使用者

#include

void main()

maxpos=minpos=0;

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

{if (a[i]>a[maxpos])

maxpos=i;

if (a[i]

3樓:匿名使用者

你程式的錯誤:

findmax和findmin邏輯不對,你的意思是要返回最大值與最小值得位置嗎,如果是這樣,完全沒有實現這個功能,無論怎樣,返回值都是9,如果你要返回最大最小值,那就不應該return i或者return j ,而應該return max或者return min

read函式也有問題,你返回一個值是什麼意思?有必要嗎?

無論是read函式,還是findmax,findmin函式,對於陣列迴圈遍歷時都只進行了9遍,你不是處理10個數嗎?

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

printf("%d ",a[i]);

for(i=t+1;i<=s;i++)

printf("%d ",a[i]);

這幾句**是什麼意思? 只是輸出陣列中的元素的話一個迴圈就夠,沒必要拆開啊?

總之,邏輯不清楚,其實這個問題非常的簡單,你可以一個函式就寫出來,遍歷10個數,用maxindex和minindex同時記錄最大值與最小值得位置,根據得到的maxindex和minindex 交換最大值與最小值在陣列中的位置,最後只需要輸出陣列即可

有什麼問題可以追問。

c語言從鍵盤任意輸入10個整數,程式設計實現將其中最大數與最小數的位置對換後,再輸出調整後的陣列。

4樓:匿名使用者

#include

#define maxsize 10

void fun(int a)

else if(a[i]

}temp = a[maxindex];

a[maxindex] = a[minindex];

a[minindex] = temp;

}main()

printf("\n");

fun(a);

printf("調換後:\n");

for(k=0;kprintf("%d ",a[k]);

}擴充套件資料:

陣列使用規則:

1.可以只給部分元素賦初值。當中值的個數少於元素個數時,只給前面部分元素賦值。

例如:static int a[10]=;表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。

2.只能給元素逐個賦值,不能給陣列整體賦值。例如給十個元素全部賦1值,只能寫為:

static int a[10]=;而不能寫為:static int a[10]=1;請注意:在c、c#語言中是這樣,但並非在所有涉及陣列的地方都這樣,資料庫是從1開始。

3.如不給可初始化的陣列賦初值,則全部元素均為0值。

4.如給全部元素賦值,則在陣列說明中, 可以不給出陣列元素的個數。例如:

static int a[5]=;可寫為:static int a=;動態賦值可以在程式執行過程中,對陣列作動態賦值。這時可用迴圈語句配合scanf函式逐個對陣列元素賦值。

5樓:聽不清啊

#include

void main()

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

printf("\n");        //換行max=a[0];min=a[0];

m=0; n=0;            //m,n也要有初值,否則最大最小數在a[0]就出錯

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

if(a[i]

}a[n]=max;

a[m]=min;

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

6樓:金色潛鳥

漏寫 初始 值 m=0,n=0;

補上即好。

7樓:愛笑

#include

#define arr_size 10

void maxminexchang(int a, int n);

int main(void)

temp=a[n-i];

a[n-1]=a[maxpos];

a[maxpos]=temp;

minvalue=maxvalue;

for(m=0;m

if(a[m]

temp=a[0];

a[0]=a[minpos];

a[minpos]=temp;

/************end**************/}

用C語言程式設計 輸入整數,判斷這個數是奇數還是偶數

include main include stdio.h main void main else if a 2 1 else void main else 怎麼分析這個程式啊?用c語言程式設計 輸入乙個整數,判斷這個數是奇數還是偶數。請大家幫忙啊。include int main if x 2 0 ...

用C語言程式設計實現從鍵盤任意輸入整數,統計其中奇數的個數,並計算這些奇數的和

如下 include int main void printf d sum return 0 用c語言程式設計實現從鍵盤任意輸入10個整數,統計其中奇數的個數,並計算這些奇數的和。5 樓上兩位同學方法都對。但第二種方法用陣列完全沒必要。include void main printf 共有 d個奇數...

輸入小於五位數的整數。將其倒序輸出用c語言解答

include int main void printf d n sum c語言程式設計,任意輸入乙個五位正整數,逆序輸出每一位上的數 如輸入54321 輸出12345 要 include int res 5 外部變數 把每一位作為陣列元素進行儲存 int p res int main return...