1.問題:為何程式跑不出來?(有//表示沒有問題)
2.目的:輸入一系列數字,最終由小到大(左而右排列)
3.程式碼
#include <stdio.h>
main()
{
int i;//
int k;//
printf("請輸入取值範圍\n");//
scanf("%d", &k);//
int a[k];//
int b;//
printf("請輸入%d個數\n", k);//
for(i = 0; i <= k - 1; i++)//
scanf("%d", &a[i]);//
for(i = k - 1; i >= 0; i--)
for(i = 0; i <= k - 1; i++)
{
if(a[i] > a[i + 1])
{
b = a[i];
a[i] = a[i + 1];
a[i + 1] = b;
}
}
for(i = 0; i <= k - 1; i++)
printf("%d\n", a[i]);
}
4.顯示
for(i = k - 1; i >= 0; i--)
for(i = 0; i <= k - 1; i++)
{
if(a[i] > a[i + 1])
{
b = a[i];
a[i] = a[i + 1];
a[i + 1] = b;
}
}
for(i = 0; i <= k - 1; i++)
printf("%d\n", a[i]);
改成
//前面要加宣告 int j;
for (i = 0; i < k-1 ; i++) {
for(j = 0 ; j < k - i - 1; j++) {
if (a[j] > a[j + 1]) {
b = a[j];
a[j] = a[j + 1];
a[j + 1] = b;
}
}
}
for(i = 0; i <= k - 1; i++)
printf("%d ", a[i]);