| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 455 人关注过本帖
标题:请各位老师进来瞧个小问题!
取消只看楼主 加入收藏
木猪学编程
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-6-15
收藏
 问题点数:0 回复次数:0 
请各位老师进来瞧个小问题!
我才接触C语言,在做c语言经典100例的时候 碰到一个题目。我没看的太懂意思!
请大家帮我指正下思路闭塞的地方。也许是你们一看都会笑死的题目,但是真的恳请大家多多指点!

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
#include<stdio.h>
main()
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",&n);
printf("back m:");
scanf("%d",&m);
for(i=0;i<n-1;i++)
 scanf("%d,",&number[i]);
scanf("%d",&number[n-1]);
move(number,n,m);
for(i=0;i<n-1;i++)
 printf("%d,",number[i]);
printf("%d",number[n-1]);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
 *p=*(p-1);
 *array=array_end;
 m--;
 if(m>0) move(array,n,m);
}

我这里大概的思路能看懂,但是move(array,n,m)这个是个什么函数啊?我这段没看的太懂。
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
 *p=*(p-1);
 *array=array_end;
 m--;
 if(m>0) move(array,n,m);
}
整个这断也许是因为我对move(array,n,m) 这个不理解,所以我看的很不理解。
希望你们帮我做个稍微的解释行嘛? 真的是初学者,希望不要见笑 :)~~~
搜索更多相关主题的帖子: 老师 
2008-06-15 22:52
快速回复:请各位老师进来瞧个小问题!
数据加载中...
 
   



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

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