鱼C论坛

 找回密码
 立即注册
查看: 2152|回复: 6

关于c语言冒泡的问题,出错,求解

[复制链接]
发表于 2014-6-11 14:27:39 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 风之残月 于 2014-11-10 10:27 编辑

我的看了小甲鱼的视频关于c语言冒泡法的视频关于整数的大小排列顺序,我在想是否可以作一个关于十个实数的大小排列的方法,但是运行出错,请看代码.#include <stdio.h>
void main()
{
        float a[10];
        int i,j;float t;
        printf("请你输入十个数:\n");
        for(i=0;i<10;i++)
        {
                if(0==i%5)
                {
                        printf("\n");
                }
                scanf("%d",&a[i]);
        }
        printf("\n");
        for(j=0;j<9;j++)
        {
                for(i=0;i<9-j;i++)
                {
                        if(a[i]>a[i+1])
                        {
                                t=a[i];a[i]=a[i+1];a[i+1]=t;
                        }
                }
        }
        printf("有小到大的排列:\n");
        for(i=0;i<10;i++)
        {
        printf("%5d",a);
        }
        printf("\n");
}
[/i][/i][/i][/i]

最佳答案

查看完整内容

你代码里面的错误有几处地方,我把代码发出来,你看看吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-11 14:27:40 | 显示全部楼层
你代码里面的错误有几处地方,我把代码发出来,你看看吧
#include <stdio.h>

void main()
{
        float a[10];
        int i,j;
        float t;
        printf("请你输入十个数:\n");
        for(i=0; i<10; i++)
        {
                scanf("%f", &a[i]);
        }
        printf("\n");
        for(j=0; j<9; j++)
        {
                for(i=0; i<9-j; i++)
                {
                        if(a[i] > a[i+1])
                        {
                                t          = a[i];
                                a[i]     = a[i+1];
                                a[i+1] = t;
                        }
                }
        }
        printf("从小到大的排列:\n");
        for(i=0; i<10; i++)
        {
                        printf("%5f ", a[i]);
        }
        printf("\n");
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-11 14:29:05 | 显示全部楼层
我是用vs2010编写的哦,求大家看看啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-11 14:50:24 | 显示全部楼层
本帖最后由 小泉向西流 于 2014-6-11 15:19 编辑
#include<stdio.h>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-11 14:54:09 | 显示全部楼层
scanf("%d",&a);  //  a 是数组名,对数组中的单元写入数据,应用&a[i];

if(a>a[i+1])
{t=a;a=a[i+1];a[i+1]=t;  }
大小交换, 一个是数组单元,一个是数组名, 有错误。

for(i=0;i<10;i++)
        {
        printf("%5d",a);
        }
循环输出,格式错误。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-11 17:18:57 | 显示全部楼层

我知道是什么错误了,只是格式控制弄错了,其实我那个是有括号的,不知道复制的时候怎么没有了,哈哈哈,谢谢你啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-11 17:20:10 | 显示全部楼层
小泉向西流 发表于 2014-6-11 14:54
scanf("%d",&a);  //  a 是数组名,对数组中的单元写入数据,应用&a;

if(a>a)

谢谢你啊 ,我把格式搞错了,谢谢你提醒,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 12:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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