到目前为止,我的程序根据用户声明的大小创建了一个数组。然后程序用 500 到 600 之间的随机数填充该数组,并打印其中的 4 个数字并创建一个新行以继续打印它们。到目前为止一切正常。在假设按升序重新打印数字的部分出现问题,它仅重新打印一些数字而不是按任何顺序。任何有关如何纠正此问题的帮助表示赞赏。
int main(){
int size;
int j, i;
int temp;
int a=0;
double sum = 0;
printf("Enter size of array ");
scanf("%d", &size);
int* array;
array=malloc(size * sizeof(*array));
int *aPtr = array;
srand(time(NULL));
for (i = 0; i < size; i++){
aPtr[i] =(rand() % 101) + 500;
printf("%d ", aPtr[i]);
a++;
if (a == 4){
printf("\n");
a = 0;
}
}
printf("\n\n\nIn ascending order\n");
for (i = 0; i< size; i++){
for (j = 0; j < size; j++){
if(aPtr[i] > aPtr[j]);
temp=aPtr[i];
aPtr[i]=aPtr[j];
aPtr[j]=temp;
}
printf("%d\n", aPtr[i]);
}