| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 414 人关注过本帖
标题:【请教】帮忙解释下程序执行过程!20分悬赏!。。。。。。。。。。。。
取消只看楼主 加入收藏
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:1 
【请教】帮忙解释下程序执行过程!20分悬赏!。。。。。。。。。。。。
书上的,相信你也看过

程序代码:
#include<stdio.h>
void sort(int k[],int n);  //声明
void main()
{

    int p[5],i;
    printf("请输入5个数字:\n");

    for(i=0;i<5;i++)
    {
    scanf("%d",&p[i]);  //用户输入5个数字
   
    }

    sort(p,5);  //调用函数排序

    for(i=0;i<5;i++)
    {
    printf("您输入的数字有小到大排序为:%d\t",p[i]);

    }
    getch();


}

void sort(int array[],int n) 
{
int i,j,k,t;
for(i=0;i<n-1;i++)   // 从这里开始解释:。。。。。。。。。

{

 k=i;

 for(j=i+1;j<n;j++)
     if(array[j]<array[k])
         k=j;


 t=array[k];

 array[k]=array[i]; 

 array[i]=t;    // 到这里为止:。。。。。。。。。


}


}

谁先解释,让我理解了就送20分,谢谢了!!!!!!


2011-06-10 20:29
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
收藏
得分:0 
回复 2楼 voidx
那我先说
程序代码:
void sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)   // 本例为5个数,此行目的是用前4个数字在其后于第5个数字比较,然后循环,4:1,3:1,2:1,得出最大值排序?
{
k=i;                 //赋值?为什么不不直接用i呢?不懂?
for(j=i+1;j<n;j++)   //得出相邻的数?
     if(array[j]<array[k])  //相邻的数比较
         k=j;     //为什么这里又要赋值给其他数呢,不直接用?不懂

t=array[k];              //交换值
array[k]=array[i];
array[i]=t;    //交换值


}


}



2011-06-10 20:37
快速回复:【请教】帮忙解释下程序执行过程!20分悬赏!。。。。。。。。。。。。 ...
数据加载中...
 
   



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

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