1樓:刀龍暗
你這個演算法無法求出次小值,改了也一樣。次小值求得3而不是2.
還是排序後求簡單明瞭:
#include
void main()
; int i , j , m1=0,m2=0,min1=32767,min2=32767;
for(i=0;i<10 ;i++)
//尋找到最小值的下標,然後再交換值
min1 = x [ m1 ] ; x [ m1 ] = x [ i ] ; x [ i ] = min1 ;
}min1 = x [ 0 ] ; //分別賦值前兩個元素值給min1 ,min2
min2 = x [ 1 ] ;
for( j=0; j<10; j++)
printf( "%3d",x [ j ] );
printf("\n");}
2樓:靈love心兒
if(x[j]>min1)
if(x[j]>min2)
應該將大於號改為小於號吧,min1 min2裡存放的應該是較小的數,比它本身小的數才換,比它大就沒必要換了
3樓:匿名使用者
有乙個錯誤不知道是不是你打錯了
printf{"%3d",x); -->printf("%3d",x);
C語言題目 請C語言高手幫幫忙
include define max 30 定義最長可輸入的數的長度 char num max 定義乙個陣列,用於存放要輸入的字元 main p num p指向陣列第乙個元素 pr p i 1 pr指向陣列最後乙個元素,不含 0 while j i 2 else break 不一樣則退出迴圈 if ...
誰會C語言?麻煩高手幫幫忙,程式設計高手幫忙啊 誰會C ?
c 是 net使用的核心語言,如果你不學c 那你是怎麼在學.net的呢?學習的話,vs2005就夠用了,現在最新版本的vs是2010.vs2005在安裝時,選擇上c 語言,就可以直接建立 c 專案了。你還沒搞清c 與.net的關係 建議買幾本書看看。c 安裝之後有乙個duwamish的網上書店例項,...
c語言的程式設計題目,請高手幫忙!謝謝
第一題 從鍵盤輸入任意兩個正整數x和y,程式設計求出兩數的最大公因子和最小公倍數 include int main void a 0 b 0 for i 2 i x y i if a 0 printf d 和 d 沒有公因子。最小公倍數是 d。n x,y,b else printf d 和 d 的最...