| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1649 人关注过本帖
标题:有学习了冒泡算法的么?能帮忙解惑么?谢谢了!
取消只看楼主 加入收藏
wangjiayou
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2017-6-25
结帖率:75%
收藏
 问题点数:0 回复次数:1 
有学习了冒泡算法的么?能帮忙解惑么?谢谢了!
冒泡算法,本人的代码如下:还请老司机能帮忙解答下困惑。 程序没法运行。因为是自学,所以很多东西都不懂。还请老司机解答下!谢谢了!

///练习1.1  冒泡算法,假设有一个10元素的数组,即n=10.求其中最大值得元素。//
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int i=0, j=0, n=10, t=0;
    int a[10];     
    printf("请用户输入一组10个数:\n");     
    for(i = 1; i <= n; i++)
        scanf("%d ", &a[i]);

    for(i = 1; i < n-1; i++ )   //一个数排序要,比较1轮,n个数,要比较n-1轮,才能按照冒泡递减顺序排列!//
    {
        for(j = 1; j < n-j; j++)    //逻辑地址上的,第J个做比较的数,要与n-j个数做比较,并以数值递减的顺序排列!//  这网上是n-i,可我觉得n-j,可以么?
            if(a[j] < a[j+1])          //分别与两边的数做比较//
          {
            t = a[j];         //将原a[j]中的值存储在t中,故地址a[j]中的内存为空。//
            a[j] = a[j+1];      //交换a[j+1]的值,存储到地址a[j]中。     将a[j+1]中的值赋值到地址aj(此时地址a[j]内存为空)中,故此时地址aj的值为原地址a[j+1]的值()较大的值。故此时地址aj+1]中的内存为空//
            a[j+1] = t;         //交换a[j]的值,存储到地址a[j+1]中。将t中的值(原来地址a[j]的值赋值给地址aj+1,此时a[j+1]的值为原地址aj的值!)//
           }
    }

    for(j = 1; j <= n; j++)         //打印输出按照冒泡递减顺序排列的数组//   这网上用的是变量i,可我用变量j,可以么?
        printf("%d",a[j]);
   
    getchar();
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: 冒泡 算法 for 比较 地址 
2017-07-11 10:07
wangjiayou
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2017-6-25
收藏
得分:0 
回复 2楼 wp231957
xiexie
2017-07-11 10:46
快速回复:有学习了冒泡算法的么?能帮忙解惑么?谢谢了!
数据加载中...
 
   



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

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