| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 770 人关注过本帖
标题:新手遇到一个问题请求解答
只看楼主 加入收藏
q510578
Rank: 2
等 级:论坛游民
帖 子:86
专家分:30
注 册:2012-2-29
结帖率:92.31%
收藏
已结贴  问题点数:10 回复次数:13 
新手遇到一个问题请求解答
#include<stdio.h>
int main()
{
    int b;
    printf("请输入数组的元素有几个:");
    scanf("%d",&b);
    int a[b],i,j,r,temp;
        printf("请输入数组元素,用空格隔开:");
        for(i=0;i<b;i++)//若把此句替换为i=0;为什么结果成了乱码?//
        scanf("%d",&a[i]);
    for(i=0;i<b-1;i++){
        r=i;
    for(j=i+1;j<b;j++)
        if(a[r]>a[j])
            r=j;
        if(r!=i){
            temp=a[i];
            a[i]=a[r];
            a[r]=temp;
            }
        }
    printf("结果:");
    for(i=0;i<b;i++)   
    printf("%5d",a[i]);   
    printf("\n");
        return 0;
}

[ 本帖最后由 q510578 于 2012-4-24 23:08 编辑 ]
搜索更多相关主题的帖子: include 元素 
2012-04-24 22:41
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:2 
int b;
    printf("请输入数组的元素有几个:");
    scanf("%d",&b);
    int a[b],i,j,r,temp;
a[b]不可以这样定义
2012-04-24 22:44
a935245228
Rank: 2
来 自:湖北武汉
等 级:论坛游民
帖 子:45
专家分:56
注 册:2012-3-12
收藏
得分:1 
是是是是是是是
2012-04-24 22:46
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:2 
printf("请输入数组元素,用空格隔开:");
        for(i=0;i<b;i++)//若把此句替换为n=0;为什么结果成了乱码?//
        scanf("%d",&a[i]);
================================
printf("请输入数组元素,用空格隔开:");
    n=0;
scanf("%d",&a[i]);
这样写?

2012-04-24 22:48
q510578
Rank: 2
等 级:论坛游民
帖 子:86
专家分:30
注 册:2012-2-29
收藏
得分:0 
回复 4楼 a646404908
是,就是那样

与你我希望相处的快乐,你有不快可以向我发泄。
2012-04-24 22:51
q510578
Rank: 2
等 级:论坛游民
帖 子:86
专家分:30
注 册:2012-2-29
收藏
得分:0 
回复 2楼 a646404908
可以啊,我都调试出来了。


与你我希望相处的快乐,你有不快可以向我发泄。
2012-04-24 22:52
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:1 
N代表什么
N你又没有定义
为什么N要赋0
说一下
还有你用什么编译器
2012-04-24 22:55
q510578
Rank: 2
等 级:论坛游民
帖 子:86
专家分:30
注 册:2012-2-29
收藏
得分:0 
回复 7楼 a646404908
写错了,是i=0;我是要给数组赋值从a[0]开始。
我用GCC

与你我希望相处的快乐,你有不快可以向我发泄。
2012-04-24 23:01
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:2 
for(i=0;i<b;i++)
scanf("%d",&a[i]);
这条语句的意思是连续输入0~b个数 a[0] a[1] a[2]...a[b]
但是改成
i=0;
scanf("%d",&a[i]);
只输入 a[0]这个数 其他的数没初始化
就输出乱码
 还有你的编译器 我也不知道什么问题  
再去看书吧
2012-04-24 23:10
a476644693
Rank: 2
等 级:论坛游民
帖 子:31
专家分:29
注 册:2011-8-2
收藏
得分:2 
如果改为i=0,表示数组只输入一个元素,只有a[0],而你后面要输出多个元素a[1]……,当你b大于1是输出就越界了,压根就没有a[1]怎么输出,所以乱码
2012-04-25 04:58
快速回复:新手遇到一个问题请求解答
数据加载中...
 
   



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

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