注册 登录
编程论坛 C语言论坛

刚开始学,帮忙看看这个程序哪里有问题

Barry1121 发布于 2022-03-13 19:46, 833 次点击
题目描述
输入1组整数(至少1个,不多于100个),按照从小到大排序后输出。

本题要求用冒泡排序或者选择排序实现。

输入
输入1组整数(32位整数),处理到输入结束。

输出
输出按从小到大排序后的结果,2个数之间隔1个空格。

样例输入 Copy
3 -4 2
样例输出 Copy
-4 2 3
程序代码:
#include<stdio.h>
int main()
{
    int a[100];
    int i=0,j,x,n=0,t;
    while(scanf("%d",&x)!=EOF)
    {
        a[n]=x;
        n++;
    }
    n=n-1;
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-i-1;j++)
        {
            if(a[j]>a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
}

为什么没有输出,那里有问题
1 回复
#2
CCCCW2022-03-13 21:06
#include<stdio.h>
int main(void)
{
    int a[100] ;
    int i = 0, j, x,t,n;
    printf("Enter n: ");
    scanf("%d", &n);
    for (i = 0; i < n; i++)
       scanf("%d", &a[i]);
        for(x=1;x<n;x++)
            for (j = 0; j < n - x; j++)
            {
                if (a[j] > a[j + 1])
                {
                    t = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = t;
                }

            }
        for (i = 0; i < n; i++)
                printf("% d ", a[i]);
            
        return 0;
}
1