使用冒泡排序法时出现问题

在键入10个整数后,输出结果为负数

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    int arr1[10];
    int a = 0 ;
    int i = 0;
    for (a = 0; a < 10; a++);
    {
        scanf("%d", &arr1[a]);

    }

    for ( i = 0; i <10; i++)
    {
    
        for(int j = 0;j < 9 - i;j++)
        {
            if (arr1[j] > arr1[j + 1])

            {
                int temp = arr1[1];
                arr1[j] = arr1[j + 1];
                arr1[j + 1] = temp;
            }

        }
    }
    for (i = 0; i < 10; i++)
    {
        printf("%d", arr1[i]);
    }
    return 0;



修改见注释,供参考:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    int arr1[10];
    int a = 0 ;
    int i = 0;
    for (a = 0; a < 10; a++) // ;  这里多了分号
    {
        scanf("%d", &arr1[a]);
 
    }
    for ( i = 0; i <10-1; i++) //for ( i = 0; i <10; i++)修改
    {
    
        for(int j = 0;j < 9 - i;j++)
        {
            if (arr1[j] > arr1[j + 1])
 
            {
                int temp = arr1[j];  //temp = arr1[1];  修改
                arr1[j] = arr1[j + 1];
                arr1[j + 1] = temp;
            }
 
        }
    }
    for (i = 0; i < 10; i++)
    {
        printf("%4d", arr1[i]); //printf("%d", arr1[i]); 修改
    }
    return 0;
 }

我也遇到了相同的问题

img

把 ; 去掉 要不然 无法正常接收输入的数据。
希望对题主有所帮助,望采纳!!

第八行多了个分号,去掉就好了