| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 992 人关注过本帖
标题:[原创]30分钟全对的送80[高手莫笑]
取消只看楼主 加入收藏
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
 问题点数:0 回复次数:5 
[原创]30分钟全对的送80[高手莫笑]
30分钟内全对送80.做了,但是一个空都没对我也送他10.送完即止(没功劳有苦劳,但是要认真哦.呵呵,应该很少人连一个空都做不吧.认真点看。不是很难的) 函数说明: 函数void rcr(int a[],int n,int k)的功能是:将数组a中的元素a[0]~a[n-1]循环向右平移k个位置。为了达到总移动次数不超过n的要求。每个元素都必须只经过一次移动到达目标位置,在函数rcr中用如下算法实现:首先备份a[0]的值,然后计算机应移动到a[0]的元素的下标p,并将a[p]的值移至a[0];接着计算应该移动到a[p]的元素下标的q,并将a[q]的值移至a[p];依次类推,直到将a[0]的备份的值移到正确位置。 若此时移到的下标元素个数已经为n,则结束;否则,在备份a[1]的值,然后计算应该移到的a[1]的元素下标p,并将a[p]的值移至a[1];接着计算应该移动到a[p]的元素下标q。并将a[q]的值移至a[p];依次类推,直到将a[1]备份的值移到正确位置。 若此时移动到的元素个数已经为n,则结束;否则从a[2]开始。重复上述过程,直至将所有元素有移动到目标位置为止。 例如,数组a中的6个元素,图3-4所 示,循环向右平移2个位置后的元素的排列情况。如图3-5所示。
图片附件: 游客没有浏览图片的权限,请 登录注册
#include<stdio.h> void rcr(int a[],int n,int k) {int i,j,t,temp,count; count=0; k=k%n; if(______(1)________) {i=0; while(count<n) {j=i;t=i; temp=a[i]; while((j=(________(2)_______)!=i) {a[t]=a[j]; t=_________(3)________; count++; } ______(4)_________=temp; count++; _______(5)_______; } } } 答案在后面
搜索更多相关主题的帖子: 函数 
2005-05-08 11:41
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
得分:0 
答案如下:
#include&lt;stdio.h&gt;
void rcr(int a[],int n,int k)
{int i,j,t,temp,count;
 count=0;           //记录移动元素的次数
  k=k%n;
  if(k!=0)       //如果k是n的倍数,则无须移动
  {i=0;
   while(count&lt;n)
    {j=i;t=i;
     temp=a[i];         //备份a[i]的值
  while((j=(j+k+n)%n)!=i)
    {a[t]=a[j];   /*移动相关元素,直到计算出a[i]应该移动到的目标位置*/     
     t=j;
  count++;
    }
    a[j]=temp;
    count++;
        i++;
    }
  }
}
main()
{int i,a[6]={41,25,38,47,65,76};
 rcr(a,6,2);
for(i=0;i&lt;6;i++)
  printf("%d\t",a[i]);
}


生是编程人!!!!死是编程鬼!!!!颠峰人生!!!焚尽编程!!! 爱已严重死机!情必须重新启动!情人已和服务器断开连接!网恋也需要重新拨号!-----激情依旧
2005-05-08 11:48
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
得分:0 
晕了。我还没把答案贴出来。你小子就回复了。

生是编程人!!!!死是编程鬼!!!!颠峰人生!!!焚尽编程!!! 爱已严重死机!情必须重新启动!情人已和服务器断开连接!网恋也需要重新拨号!-----激情依旧
2005-05-08 11:49
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
得分:0 
   我晕了。你竟然上机运行。够毒的。我送分给你~~~~~~~workhard。我佩服你那种求真的精神。你找到一个。魂找了一个.

[此贴子已经被作者于2005-5-11 9:37:40编辑过]



生是编程人!!!!死是编程鬼!!!!颠峰人生!!!焚尽编程!!! 爱已严重死机!情必须重新启动!情人已和服务器断开连接!网恋也需要重新拨号!-----激情依旧
2005-05-11 07:08
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
得分:0 
   各位都认真做了。我没理由不送分了。只是workhard是上机运行.所以送的少点。魂有没上机我不清楚。不过他那个是关键性的一步.所以我送分多。

生是编程人!!!!死是编程鬼!!!!颠峰人生!!!焚尽编程!!! 爱已严重死机!情必须重新启动!情人已和服务器断开连接!网恋也需要重新拨号!-----激情依旧
2005-05-11 09:43
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
得分:0 
   呵呵。就是不想让人上机。如果上机的话就不用你们做了~~~~~~~~

生是编程人!!!!死是编程鬼!!!!颠峰人生!!!焚尽编程!!! 爱已严重死机!情必须重新启动!情人已和服务器断开连接!网恋也需要重新拨号!-----激情依旧
2005-05-12 07:10
快速回复:[原创]30分钟全对的送80[高手莫笑]
数据加载中...
 
   



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

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