| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 358 人关注过本帖
标题:请教高手帮我解释一下下面这段程序。
只看楼主 加入收藏
caoqiangkill
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-5-28
结帖率:83.33%
收藏
已结贴  问题点数:18 回复次数:4 
请教高手帮我解释一下下面这段程序。
把一个整数按大小顺序插入已排好序的数组中。
main()
{
  int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};
  for(i=0;i<10;i++)
      { p=i;q=a[i];
    for(j=i+1;j<10;j++)
    if(q<a[j]) {p=j;q=a[j];}
    if(p!=i)
    {
      s=a[i];
      a[i]=a[p];
      a[p]=s;
    }
    printf("%d ",a[i]);
      }
    printf("\ninput number:\n");
    scanf("%d",&n);
    for(i=0;i<10;i++)
      if(n>a[i])
      {for(s=9;s>=i;s--) a[s+1]=a[s];
      break;}
      a[i]=n;
    for(i=0;i<=10;i++)
      printf("%d ",a[i]);
    printf("\n");
}
请教高手帮我解释一下,最好能具体一点的,因为本人苦思幂想许久,最终未能理解,所以想请教高手解解急!!!
搜索更多相关主题的帖子: 解释 
2010-06-03 18:30
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:18 
main()
{
  int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};
  for(i=0;i<10;i++)//这个for循环式进行排序的:
      { p=i;q=a[i]//;p和q分别赋初值;
    for(j=i+1;j<10;j++//)然后从第二个开始判断;
    if(q<a[j]) {p=j;q=a[j];}//如果第一个数小于第二个数,那么p和q重新赋值;
    if(p!=i)// 这里是检验p的只有没有发生变化,如果第一个只大于第二个值得话就不会变,如果改变了第一个值和第二个值对换;
    {
      s=a[i];
      a[i]=a[p];
      a[p]=s;
    }
    printf("%d ",a[i]);
      }
    printf("\ninput number:\n");//红色部分是在数组里面插入一个输入的值;
    scanf("%d",&n);
    for(i=0;i<10;i++)//判断输入的值在数组里面的位置
      if(n>a[i])
      {for(s=9;s>=i;s--) a[s+1]=a[s];//调整位置;
      break;}
      a[i]=n;插入;
    for(i=0;i<=10;i++)//蓝色部分是输出排序并插入数值后的数组!
      printf("%d ",a[i]);
    printf("\n");
}

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-03 19:13
caoqiangkill
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-5-28
收藏
得分:0 
能用其中一个数详细说明一下吗?  这光有文字的说明实在是让我费解呀。
2010-06-03 21:37
caoqiangkill
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-5-28
收藏
得分:0 
    if(p!=i)
    {
      s=a[i];
      a[i]=a[p];
      a[p]=s;
    }
在程序中起什么作用
2010-06-17 19:21
a8979595
Rank: 2
等 级:论坛游民
帖 子:34
专家分:54
注 册:2010-5-31
收藏
得分:0 
气交换作用,把大数和小数交换
2010-06-17 20:06
快速回复:请教高手帮我解释一下下面这段程序。
数据加载中...
 
   



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

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