我工作的問題,產生隨機數和排序數組,然後顯示數字從最大到最小。 這裏是我的代碼:做,而爲陣列在c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 40
int main()
{
int array[SIZE];
int inner, outter, temp, i;
srand((unsigned)time(NULL));
//do... while to assign array value
i=0;
do{
array[i] = (int)((rand()%101)+1);
i++;
}while(i<SIZE);
puts("Original array:");
for(outter=0; outter<SIZE-1;outter++){
printf("%d\t", array[outter]);
}
//bubble sort
for(outter=0; outter<SIZE-1;outter++){
for(inner=outter+1; inner<SIZE; inner++){
if(array[outter] > array[inner]){
temp = array[outter];
array[outter] = array[inner];
array[inner] = temp;
}
}
}
puts("\n");
puts("Sorted array:");
printf("i= %d\n",i);
printf("%d\n", array[39]);
for(outter=0; outter<SIZE;outter++){
printf("%d\t", array[outter]);
}
puts("\n");
for(outter=SIZE-1; outter>0;outter--){
printf("%d\t", array[outter]);
}
puts("\n");
// try using do while loop to display reverse number from biggest to smallest numbers
do{
printf("i= %d\n", i-1);
i--;
}while(i>-1);
}
當我用做同時顯示反向序列號,我的代碼去迷戀。 但是,我顯示的值是「我」用於循環數組,它顯示從39到-1。因爲我設置了「i> -1」,所以我不爲什麼對「我」值有-1。
您好,我只希望i.number從39到0,這樣我可以使用do..while循環顯示排序的數組值 – max
你試過改變while條件爲'while(i> 0);'? – Gab
我需要i = 0以及顯示排序陣列中的第一個元素用於反向顯示數組,從最大到最小 – max