編寫C語言程式,輸入陣列,最大的與元素交換,最小的與最後元素交換,輸出陣列

時間 2021-07-21 03:29:33

1樓:墨汁諾

*min=a[n];a[n]=k;*max=a[0];a[0]=j;n=7,但陣列的下標為0-6,出現了下標越界。

#include

int main(void)

printf("請輸入陣列:");

a[0]=a[maxp];

a[maxp]=t;

printf("輸出:\n");

陣列中的元素

陣列中的所有元素都具有相同型別。陣列中的元素儲存在一個連續性的記憶體塊中,並通過索引來訪問(這一點也和結構和類中的欄位不同,它們通過名稱來訪問)。陣列元素並非只能是基後設資料型別,還可以是結構、列舉或類。

2樓:

你的實現有問題,大小值位置必須分開找,找完之後交換,再找#include

int main(void)

t=a[0];

a[0]=a[maxp];

a[maxp]=t;

printf("輸出:\n");

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

return 0;}

3樓:汐日南莘

#include

main()

int a[10],i,max,maxp,min,minp,t;

printf("請輸入陣列");

for(i=0;i<10;i++)//是10不是1scanf("%d",&a[i]);//這裡丟了個括號max=min=a[0];

maxp=minp=0;

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

if(a[i]>max)

max=a[i];

maxp=i;

if(a[i]min=a[i];

minp=i;

}//for迴圈應到這為止

if(minp!=0)//注意要加這個條件  防止最小值是第一個時交換  出錯

t=a[0];

a[0]=a[maxp];

a[maxp]=t;

t=a[9];

a[9]=a[minp];

a[minp]=t;

else

t=a[0];

a[0]=a[maxp];

a[maxp]=t;

t=a[9];

a[9]=a[maxp];

a[maxp]=t;

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

if(i!=4)

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

else printf("%8d\n",a[i]);

printf("\n");

沒問題了   已改正

可能出錯的情況都測試了   這樣就可以同時找最大值最小值了

用c語言程式設計實現輸入陣列,最大的與第一個元素交換,最小的與最後一個元素交換,輸出陣列(用指標的方法)

4樓:

//執行時,請隨機輸入10個數!

#include

void main()

if(f[j]

}k=f[0];

f[0]=f[b];

f[b]=k;

if(f[9]!=max)

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

printf("%d ",f[k]);}

5樓:淡寫

#include

void main()

else if(*(p+i)<=min)

temp=*a, *a=*pmax; *pmax=temp;

temp=*(a+n-1); *(a+n-1)=*pmin; *pmin=temp;

for(i=0; i

printf("% d", *(a+i));}

c語言輸入陣列,最大的與第一個元素交換,最小的與最後一個元素交換,輸出陣列

6樓:風若遠去何人留

唯一的一個問題

就是如果最大最小值本來就在第一個或者最後一個的情況.

比如, 最小值本來在a[0]  最大值在a[4]這樣迴圈後min=0 max=4

於是 先做了一次交換 a[max]和a[0] 也就是a[4]和a[0]

然後 又做了一次交換, a[min]和a[4] 還是a[0]和a[4] 又換回去了.

導致最小在a[0] 最大在a[4] 與要求不符.

修改方式 就是

m=array[max];

array[max]=array[0];

array[0]=m;

if(min==0) min=max;//如果min已經被換走了,那麼把min賦值成被換的位置.

m=array[min];

array[min]=array[4];

array[4]=m;

7樓:匿名使用者

沒有錯誤啊,不知**沒有達到要求呢?

有一點就是,有可能第一個數就是最小的,最大的和第一個數交換之後就把最小的數換走了?

8樓:

m=array[max];

// array[max]=array[0];多餘的array[0]=m;

m=array[min];

// array[min]=array[4];多餘的array[4]=m;

編寫C語言程式,要求輸入數,求最大數和最小數之和

先找出最大值和最小值,然後分別複製給max 和min 在求和好了。 include int main 程式設計實現 輸入三個數,要求輸出最大值 include stdio.h int max int x,int y,int s 宣告,如果被調函式在主函式後 main int a,b,c,d 定義4個...

用C語言編寫程式,輸入兩個整數,輸出其最大公約數和最小公倍數

念憶 include include void main include include include c 編寫程式。輸入兩個正整數,求它們的最大公約數和最小公倍數unsigned int maxdivisor unsigned int a,unsigned int b return 1 unsi...

C語言陣列元素求和的編寫程式(具體的步驟)

程式如下 include int a 4 4 int ahang 4 alie 4 void main printf d n sum int k,o int min,max int temp,index for k 0 k 3 k temp alie k alie k min,alie index ...