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**************/} 恆者致遠 在你的change函式中,由於你的迴圈控制變數i沒有控制好,導致了兩個迴圈都不能很好的完全遍歷整個陣列,所以答案是錯誤的。個人意見第一種方法是最大最小數的查詢用兩個迴圈實現,第二種方法是增加迴圈控制變數。謝謝 汐日南莘 include stdio.h int i int main void... 幻兒 你是用手機提問的 回答字數的上限是100字 程式編出來超過了字數 建議你用電腦提問 上限是9999字 要不就把郵箱發上來 我給你傳到郵箱裡 要不程式不能完整顯示到頁面上啊 匿名 熱心 void goleft int x,int y void goright int x,int y 真的不能再低... 碧海風雲 有反應啊 首先輸入5個字元,隨後會輸出方才輸入的字元。include int main for i 0 i 5 i putchar n return 0 執行結果 輸入 abcde 輸出 abcde c語言中的輸入輸出函式總結 c語言中資料輸入輸出的概念及在c語言中的實現 1 所謂輸入輸出...c語言程式設計 輸入整數,將其中最小的數與數對換,把最大的數與最後數對換。我的答案錯了
C語言程式設計 用陣列輸入整數,從大到小排序,然後輸出下標
輕鬆c語言用函式輸入輸出,輕鬆C語言用函式輸入輸出