鱼C论坛

 找回密码
 立即注册
查看: 2441|回复: 4

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

[复制链接]
发表于 2022-4-16 10:11:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
话不多说上代码
#include <stdio.h>
void main()
{
        int i, j, a[11], t;
        printf("please input ten numbers!\n");
        for(i = 0; i<=9; i++)
        {
                scanf("%d",&a[i]);
        }
        for(j = 0; j<=9;j++)
        {
                if(j > j+1)
                {
                        t = a[j];
                        a[j] = a[j +1] ;
                        a[j + 1] = t;
                }
        }
        for (i = 0; i<=9; i++ )
        {  
                printf("%3d", a[i]);
        }
}
不知道为什么结果总是不对,结果就是输入的数据,求大神帮忙看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-16 10:47:16 | 显示全部楼层
OK,问题已经解决!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-16 10:49:32 | 显示全部楼层
光一个if是不够的
#include <stdio.h>
#define LEN 10
void main()
{
    int i, j, a[LEN], t;

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

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

    for (i = 0; i<LEN; i++ )
    {
        printf("%3d", a[i]);
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-4-16 10:56:36 From FishC Mobile | 显示全部楼层
#include <stdio.h>

int main(){
        int arr[10];
        printf("please input ten numbers!\n");
        for(int i = 0; i < 10; i++){
                scanf("%d", &arr[i]);
        }
        
        for(int i = 0; i < 9; i++){
                for(int j = i + 1; j < 10; j++){
                        if(arr[i] > arr[j]){
                                arr[i] -= arr[j];
                                arr[j] += arr[i];
                                arr[i] = arr[j] - arr[i];
                        }
                }
        }
        for(int i = 0; i < 10; ++i){
                printf("%d ", arr[i]);
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-16 14:59:46 | 显示全部楼层
#include <stdio.h>
void main()
{
        int i, j, a[11], t;
        printf("please input ten numbers!\n");
        for(i = 0; i<=9; i++)
        {
                scanf("%d",&a[i]);
                for(j=i;j>=1;j--)
                {
                        if(a[j]<a[j-1])
                        {
                                t=a[j-1],a[j-1]=a[j],a[j]=t;
                        }
                }
        }
         for(i = 0; i<=9; i++)printf("%d ",a[i]);
}
please input ten numbers!
1 3 2 5 4 9 6 7 8 0
0 1 2 3 4 5 6 7 8 9
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 18:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表