1樓:烽火不連城
給你一個多數值比較的程式,冒泡法的。
#include
int main()
int i,j,t,n,a[100];
printf("輸入比較數個數:\n");
scanf("%d",&n);
printf("輸入%d個數\n",n);
for(i=0;iscanf("%d",&a[i]);
printf("從小到大的順序為:\n");
for(j=0;j<(n-1);j++) /*冒泡法調整a[i]的大小順序*/
for(i=0;i<(n-1)-j;i++) /*第一次迴圈之後最大值移動到了最後即a[n-1]為最大值*/
if(a[i]>a[i+1])
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
for(i=0;iif (i!=n-1)
printf("%d ",a[i]);
else
printf("%d\n",a[i]);
return 0;
2樓:
# include
int main(void)
//這裡錯了
}//這裡錯了 三個if應該是並列的關係,你這樣做的結果導致不符合第一個if的條件,後邊大括號裡的內容都不會執行到。而且,你既然寫了那麼多if,都用if豈不是更好,為什麼還要用else?
}else}}
printf("三個數從大到小的順序是:%d %d %d\n", i, j, h);
return 0;
} 我寫的程式
1 #include
2 int main(void)
3 16 }
17 for(i=0;i<3;i++)18
21 return 0;
22 }
"bijiao.c" 22l, 268c 已寫入
3樓:
你的程式太繁瑣了,精簡了
# include
int main(void)
4樓:
這樣就可以 吧,你想的太麻煩了。
if (j >= i) //前兩個數字進行比較if (h >= i) //
if(h >= j)
printf("三個數從大到小的順序是:%d %d %d\n", i, j, h);
return 0;
5樓:姑蘇城外人的人
我把程式改成現在這樣了
# include
int main(void)
if(h < i)
if(h < j)
printf("三個數從大到小的順序是:%d %d %d\n", i, j, h);
return 0;}
6樓:匿名使用者
十分冗餘,邏輯關係不清楚。請在紙上弄清楚一下三個數如何通過兩個if語句來判斷大小。
7樓:匿名使用者
應該是else後面的程式有問題 你可以帶個數試試 我感覺是缺東西
「輸入三個數,按大小順序輸出"用c語言程式設計,我做的錯在**
8樓:匿名使用者
#include
int main(void)
if(a if(b printf(" 輸入的3個實數按從大到小的排序為:%.2f %.2f %.2f\n",a,b,c); //printf(" 輸入的3個實數的中間數為:%.2f\n",b); return 0;} 9樓:聽不清啊 輸入/輸出的格式符用錯了,float應該使用%f格式符 10樓:焚膏繼晷後 第四行的%d改為%f 第12行的也是 兄弟們 這怎麼回事 **錯了(c++程式設計,由大到小排序三個數) 11樓:匿名使用者 #include int main() { int a,b,c,t; scanf("%d,%d,%d",&a,&b,&c); if(a c語言 字元型陣列排序 我的程式錯在**? 12樓:匿名使用者 1、j沒有賦值初值就是用 感覺有點混亂(我簡單的寫了一個,僅供參考)#include #include int main() }for(i=0;i<10;i++) return 0;} 三個數升序排列 程式設計 請問哪錯了 13樓:座標 不能用if(b>=a,b>=c)這種結構的,需要用連線符,if(b>=a&&b>=c) 14樓:匿名使用者 if(a >= b && b >= c) // 應該用邏輯運算子 && 連線 15樓:喵不語 if(a>=b,a>=c)能解釋下麼。。。。 我要對這三個數進行排序,求幫我指出程式中錯誤,以及怎樣修改,謝謝
10 16樓:瑩紗之夢 第4行4,3,7可以刪掉,其餘我覺得沒什麼問題 17樓:匿名使用者 第二個和第三個if換下。。。 18樓: 好像沒什麼問題啊,你執行出錯了? c語言實現三個數從小到大排列 19樓:哎呦喂 兩個數的排序,只需要比較一下,如果第一個比第二個大,交換一下,否則什麼都不用做。 三個數的排序 ,可以先將前兩個排序,保證第一個比第二個小。 然後將第二個和第三個數排序,保證第二個比第三個小。 經過上面兩次排序,保證了第三個是最大的,但不能保證第二個還比第一個大,因為第二次排序的時候可能改變了第二個數。因此,還要再將前兩個數進行排序。最終保證了三個整數從小到大排列。 c語言程式設計:用指標冒泡法排序下面這個程式**錯了?? 20樓:匿名使用者 //參考**試試: #include #include void main () p=a; while(fscanf(fp,"%d",(p+i))!=eof)k=i; /*下標最大為i*/ for(i=0;i*(p+j+1)) for(i=0;i 1 char str1 7 8 str2 1 str3 1 宣告和初始化 2 str1 n strcpy str1 n str2 語法錯誤,改為 strcpy str1 n str2 3 str1 n strcat str3,str1 n 語法錯誤 str3 只有1個位元組容量,strcat 連線 ... 好像是你的語言程式混亂造成的,你是不是有多版本語言系統啊 你想實現什麼,p這裡bai始終是一個野du指標zhi,執行會出錯,雖然編譯時不一定會dao報錯專 include stdio.h void main p p a 1 p 不知道你的目的,所以沒法屬判斷意圖,只是改的不會報錯而已 printf ... 1 開啟vc2010後的介面。2 點選檔案 新建 專案。點選 32位控制檯應用程式 輸入名稱 3 以上完成後,再點左擊c1後,右擊原始檔,新增 新建項。4 再選擇c 檔案,檔名稱,現在都可以寫程式了。5 define max 100 巨集定義max 100。6 最後執行結果如下。include vo...C語言,我錯在哪裡,C語言,我錯在哪裡
一道簡單的C語言問題,下面的程式錯在哪,為什麼錯了
c語言程式程式設計 輸出100到200間的全部素數,每行輸出