标题:错在哪里啦????????
只看楼主
白雪纷纷
Rank: 1
等 级:新手上路
帖 子:23
专家分:6
注 册:2010-10-24
结帖率:20%
已结贴  问题点数:20 回复次数:11 
错在哪里啦????????
//输入n个整数, 从低到高排序


#include<stdio.h>
main()
{
    int a[100];
    int i=0,t,j,length=0;
    printf("please input numbers:");

    for(i=0;;i++)
       scanf("%d",&a[i]);
    while(a[i]!='\0')            //计数器:想用length表示数组的长度
    {
        i++;length++;
    }
    for(j=0;j<length;j++)
    for(i=0;i<length-j;i++)
        if(a[i]>a[i+1])
        {
            t=a[i];
            a[i]=a[i+1];
            a[i+1]=t;
        }
    for(i=0;i<length;i++)
        printf("%d ",a[i]);
        printf("\n");
}
为什么限定数组里有几个数就可以,不限定就不行(我想让输入的数的个数自己定)
搜索更多相关主题的帖子: include numbers please 计数器 input 
2011-10-04 14:11
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
得分:2 
你在开始就设定了a[100]了,还想怎么设定?
2011-10-04 14:30
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:2 
回复 楼主 白雪纷纷
回去看看书,数组的声明和初始化。代码有几个严重问题,建议回炉重新修炼。

总有那身价贱的人给作业贴回复完整的代码
2011-10-04 14:51
白雪纷纷
Rank: 1
等 级:新手上路
帖 子:23
专家分:6
注 册:2010-10-24
得分:0 
能说具体点儿吗。。。。。。。。。。。。。
2011-10-04 15:08
阿百川
Rank: 2
来 自:大连
等 级:论坛游民
帖 子:18
专家分:33
注 册:2011-8-21
得分:2 
#include<stdio.h>
 main()
 {
     int a[100];
     int i=0,t,j,length=0;
     printf("please input numbers:");
     scanf("%d",&length);
    for(i=0;i<length;i++)
        scanf("%d",&a[i]);
     for(j=0;j<length;j++)
     for(i=0;i<length-j;i++)
         if(a[i]>a[i+1])
         {
            t=a[i];
             a[i]=a[i+1];
             a[i+1]=t;
         }
     for(i=1;i<=length;i++)
         printf("%d ",a[i]);
         printf("\n");
return 0; }
 
2011-10-04 16:11
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
得分:2 
for(i=0;;i++)  
这里是一个死循环 你的程序就玩玩了 下面也就不用看了....3楼说的 回去看看书
2011-10-04 17:20
白雪纷纷
Rank: 1
等 级:新手上路
帖 子:23
专家分:6
注 册:2010-10-24
得分:0 
说具体点儿好了,怎么计算输入数组的长度(数组是由自己输入的)。。。。。。
2011-10-06 10:33
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
得分:2 
回复 7楼 白雪纷纷
用个变量记一下不就行了吗, 还算什么呀
代码要注意排版,

#include<stdio.h>
main()
{
    int a[100];
    int i = 0, t, j, length = 0;
    printf("please input numbers:");

    for (i = 0;; i++)
    {
        scanf("%d", &a[i]);
    }

    while (a[i] != '\0')         //计数器:想用length表示数组的长度
    {
        i++;
        length++;
    }

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

    for (i = 0; i < length; i++)
    {
        printf("%d ", a[i]);
    }

    printf("\n");
}

[ 本帖最后由 BlueGuy 于 2011-10-6 11:24 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2011-10-06 10:49
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
得分:2 
同6楼,多看看书
OK  如果你想输入的时候自行判定用链表自己定义个数组结构吧
2011-10-07 14:09
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
得分:2 
回复 楼主 白雪纷纷
数组长度是不可变的,输入的次数却可以变的,你懂的

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-10-07 18:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-351562-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.883627 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved