c語言程式設計 輸入整數,將其中最小的數與數對換,把最大的數與最後數對換。我的答案錯了

時間 2021-08-30 10:29:12

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