猪头少年.zm 发表于 2022-4-16 10:11:51

这段代码是输入十个数,然后从小到大输出,但是不知道为什么结果总是不对

话不多说上代码

#include <stdio.h>
void main()
{
        int i, j, a, t;
        printf("please input ten numbers!\n");
        for(i = 0; i<=9; i++)
        {
                scanf("%d",&a);
        }
        for(j = 0; j<=9;j++)
        {
                if(j > j+1)
                {
                        t = a;
                        a = a ;
                        a = t;
                }
        }
        for (i = 0; i<=9; i++ )
        {
                printf("%3d", a);
        }
}
不知道为什么结果总是不对,结果就是输入的数据,求大神帮忙看看

猪头少年.zm 发表于 2022-4-16 10:47:16

OK,问题已经解决!

ba21 发表于 2022-4-16 10:49:32

光一个if是不够的


#include <stdio.h>
#define LEN 10
void main()
{
    int i, j, a, t;

    printf("please input ten numbers!\n");
    for(i = 0; i<LEN; i++)
    {
      scanf("%d", &a);
    }

    for(i = 0; i<LEN; i++)
    {
      for(j=i+1; j<LEN; j++)
      {
            if(a > a)
            {
                t = a;
                a = a ;
                a = t;
            }
      }
    }

    for (i = 0; i<LEN; i++ )
    {
      printf("%3d", a);
    }
}

傻眼貓咪 发表于 2022-4-16 10:56:36

#include <stdio.h>

int main(){
        int arr;
        printf("please input ten numbers!\n");
        for(int i = 0; i < 10; i++){
                scanf("%d", &arr);
        }
       
        for(int i = 0; i < 9; i++){
                for(int j = i + 1; j < 10; j++){
                        if(arr > arr){
                                arr -= arr;
                                arr += arr;
                                arr = arr - arr;
                        }
                }
        }
        for(int i = 0; i < 10; ++i){
                printf("%d ", arr);
        }
        return 0;
}

jhq999 发表于 2022-4-16 14:59:46


#include <stdio.h>
void main()
{
      int i, j, a, t;
      printf("please input ten numbers!\n");
      for(i = 0; i<=9; i++)
      {
                scanf("%d",&a);
                for(j=i;j>=1;j--)
                {
                        if(a<a)
                        {
                                t=a,a=a,a=t;
                        }
                }
      }
         for(i = 0; i<=9; i++)printf("%d ",a);
}

please input ten numbers!
1 3 2 5 4 9 6 7 8 0
0 1 2 3 4 5 6 7 8 9
页: [1]
查看完整版本: 这段代码是输入十个数,然后从小到大输出,但是不知道为什么结果总是不对