1樓:恆者致遠
在你的change函式中,由於你的迴圈控制變數i沒有控制好,導致了兩個迴圈都不能很好的完全遍歷整個陣列,所以答案是錯誤的。個人意見第一種方法是最大最小數的查詢用兩個迴圈實現,第二種方法是增加迴圈控制變數。謝謝
2樓:汐日南莘
#include "stdio.h"
int i;
int main()
void input(int d)
void change(int b)
if(n
}temp=b[0];
b[0]=b[s];
b[s]=temp;
temp=b[9];
b[9]=b[t];
b[t]=temp;
}void output(int c)
//錯誤是改好了 但還有個問題 就是當最小值是最後一個的時候交換會出問題 你可以分開找最小值和最大值 先找到一個最大值然後交換 然後找最小值 找出最小值後再交換
或是在交換時不同情況不同對待
3樓:匿名使用者
if(m>b[i+1]) //應該是< 吧
if(n
s, t 的變數似乎沒意義啊,
最後將d[0]與 n 交換 //d[1]與 n 交換將d[9]與 m交換 //d[10]與 m交換還有你的陣列是從0---9,還是1--10 ?
4樓:小海你好嗎啊
#include "stdio.h"
void input(int d[10])void change(int b[10])if(n
}temp=m;
m=b[0];//你這亂的
b[0]=temp;
temp=n;
n=b[9];
b[9]=temp;
}void output(int c[10])int main()
c語言程式設計:輸入10個整數,將其中最小的數與第一個數對換,把最大的數與最後一個數對換。
5樓:滄海雄風
請輸入十個元素:
5 4 3 2 1 0 9 8 7 6
0 4 3 2 1 5 6 8 7 9
press any key to continue#include"stdio.h"
void input(int number[10]); //此函式向首地址為number的陣列輸入10個元素
void max_min_value(int array[10]); //此函式交換array陣列的對應元素
void output(int array[10]); //此函式輸出array陣列的10個元素
void input(int number[10])}void max_min_value(int array[10])}//最小換第一個
tmp=array[0];
array[0]=array[sm];
array[sm]=tmp;
//最大換第十個
tmp=array[9];
array[9]=array[bg];
array[bg]=tmp;
}void output(int array[10])printf("\n");
}main()
c語言程式設計 輸入10個整數,將其中最小的數與第一個數對換,把最大的數與最後一個數對換。
6樓:鬧惺炙
#include
#define n 10
void main()
k=x[0]; x[0]=(*pmin); (*pmin)=k;
k=x[n-1]; x[n-1]=(*pmax); (*pmax)=k;
}滿意請採納。
C語言輸入整數,用函式程式設計將其中最大數與最小數的位置互換然後輸出
1.找出陣列中的最大值和最小值索引位置,然後將其交換即可 include 交換最大 最小值位置 void swaplimval int src,int len else if min src i 元素如果比最小數的,則重置最小值,及其索引 if maxlen minlen 如果所有值一樣,不用交換 ...
c語言題輸入nnlt數找出其中最小的數將
將它與最前面的數交換後輸出這些數.這句話什麼意思 感覺不能理解啊 莫不是英文原題 你按照翻譯之後做的嗎. 未來需努力點綴 樓主你好 原題是要先輸入所有的陣列元素 然後輸出 input 4 2 1 3 4 5 5 4 3 2 1 0output 1 2 3 4 1 4 3 2 5 而你的程式是輸入一個...
c語言程式設計輸入不超過5位的正整數
include void main printf 它是 d位數 n sum int j printf 它的每一位是 for j i j 0 j 此時i的值是上個迴圈的值 printf d a j printf n printf 逆序輸出每一位 for j 0 j i j printf d a j i...