| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 246 人关注过本帖
标题:新手请教
只看楼主 加入收藏
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
结帖率:100%
收藏
已结贴  问题点数:1 回复次数:7 
新手请教
#include<stdio.h>                                 
int main()
{
int i,j,k;
int sz[20];

while (true){
    i=0;
    scanf("%d",&sz[i]);
        if(sz[i]==0)break;
    i++;

    }
for(j=0;j<i;j++)
for(k=j;k<i;k++){
if(sz[j]>sz[k])
sz[j]=sz[k];
}
for(k=0;k<i;k++)

printf("%d\n",sz[k]);
}
求啊!!!咋就不能从小到大排序啊???
搜索更多相关主题的帖子: include 
2012-12-05 19:18
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:1 
程序代码:
#include<stdio.h>

int main()
{
    int i, j, k;
    int sz[20];

    while (true)
    {
        i = 0;    //每次循环都使i初始化为0,sz[0]不断被覆盖
        scanf("%d", &sz[i]);
        if(sz[i] == 0)
            break;//跳出时 i为0
        i++;
    }

    for(j=0;j<i;j++)
        for(k=j;k<i;k++)//排序也不对
        {
            if(sz[j]>sz[k])
                sz[j]=sz[k];//这样可没有做到交换
        }

    for(k = 0;k < i;k++)
        printf("%d\n", sz[k]);
    return 0;
}


[fly]存在即是合理[/fly]
2012-12-05 19:37
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:0 
for(j=0;j<i;j++)
        for(k=j;k<i;k++)//排序也不对
        {
            if(sz[j]>sz[k])
                sz[j]=sz[k];//这样可没有做到交换
        }


我改了好久都没成功,还是你帮我改改吧!!!!!!!!
2012-12-06 13:15
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:0 
#include<stdio.h>                                 
int main()
{
int i=0,j,k,m=1;
int sz[20];

while (true){
      i++;
    scanf("%d",&sz[i]);
        if(sz[i]==0)break;
     }
for(j=0;j<i-1;j++)
    {k=j;
while (k<i-1){

if(sz[j]>sz[k])
m=sz[k];
sz[k]=sz[j];
sz[j]=m;
k++;
}
}
for(k=0;k<i-1;k++)

printf("%d\n",sz[k]);

} 怎么都变成m=1的值了啊?
2012-12-06 13:22
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
程序代码:
#include<stdio.h>                                
int main()
{
    int i=0,j,k,m=1;
    int sz[20];

    while (true)
    {
        scanf("%d",&sz[i]);
        if(sz[i]==0)break;
        i++;    //放在上面的话 sz[0]未存储数据,后面就有错了
    }
    //你的排序思想是用第一个与后面n个比较,使第一个变成最小的
    //然后用第二个和后面的比较,使第二个变成除第一个外最小的
    //。。。。
    for(j=0;j<i-1;j++)
    {
        k=j + 1;    //本身不用比较
        while (k<i)    //这里最后一个不要忘了
        {
       
            if(sz[j]>sz[k])
            {    //交换部分要括起来
                m=sz[k];
                sz[k]=sz[j];
                sz[j]=m;
            }
            k++;
        }
    }
    for(k=0;k<i;k++)
   
        printf("%d\n",sz[k]);
    return 0;
}


[fly]存在即是合理[/fly]
2012-12-06 13:39
Ice_clb
Rank: 1
等 级:新手上路
帖 子:108
专家分:6
注 册:2012-12-3
收藏
得分:0 
回复 2楼 azzbcc
亲 你能帮我理解什么叫字符型和整型吗
2012-12-06 13:48
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
依我的理解,计算机只认识0和1
那么剩下的2 3 4 a b c咋办?
所以规定一个ASCII码表,用八个二进制数位存储一些字符
比如a:97存里面就是 0110 0001(二进制)
这就是字符。

那整数呢?也用字符存储虽然可以,但确实浪费空间
比如 16:
以字符存储,有两个 1和 6:ASCII表中是0011 0001 0011 0110
以二进制数值存储 1000就行了


[fly]存在即是合理[/fly]
2012-12-06 14:03
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:0 
大哥,终于0k了,,我太粗心了,要细心啊!!!谢谢你啊
2012-12-06 17:03
快速回复:新手请教
数据加载中...
 
   



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

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