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 ...