| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2497 人关注过本帖
标题:指针问题~~~有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个 ...
只看楼主 加入收藏
zql5666641
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-3-8
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:7 
指针问题~~~有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
指针问题~~~~有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
搜索更多相关主题的帖子: 整数 函数 指针 顺序 
2010-06-11 08:26
kettle99
Rank: 2
等 级:论坛游民
帖 子:52
专家分:54
注 册:2010-5-25
收藏
得分:0 
我给你写一个程序
2010-06-11 09:39
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:0 
没看明白你的意思!

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-11 09:48
zql5666641
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-3-8
收藏
得分:0 
回复 3楼 myhnuhai
比如说 有这样一组数 1,2,3,4,5,6,7,8,9,10,11,12,13   把前3个数移到后3个数的位置上    把后3个数移到前3个数的位置上      明白??
2010-06-11 13:19
ljwei
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:46
专家分:192
注 册:2009-9-18
收藏
得分:0 
不好意思 看不懂
2010-06-11 14:57
kinwyb
Rank: 4
等 级:业余侠客
帖 子:134
专家分:244
注 册:2009-3-7
收藏
得分:0 
回复 4楼 zql5666641
你说前面3个移到后面3个,这3是规定的还是自己输入的?

学习c语言痛苦!!但是要坚持~~
2010-06-11 15:46
aiyinsitan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
收藏
得分:0 
#include "stdio.h"
void yd(int *p, int m,int n);
void main()
{
    int a[100],*p,i,m,n;
    printf("Please in input n:\n");
    scanf("%d",&n);
    printf("please input shuzi :\n");
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    printf("please input m:\n");
    scanf("%d,&m");
    p=a;
    yd(p,m,n);
    for(i=0;i<n;i++)
    {
        printf("%3d",a[i]);
    }

}
void yd(int *p,int m,int n)
{   
    int *t,i,*a;
    int temp;
    t=p+n;
    a=p;
    for(i=0;i<m;i++)
    {
    temp=*(p+m);
    *(p+m)=*p;
    *p=*(t-m);
    *(t-m)=temp;
    p++;
    t--;
    }
}
  我写的这个怎么没法实现啊,按理应该可以啊  
图片附件: 游客没有浏览图片的权限,请 登录注册
  
2010-06-11 17:26
忘了
Rank: 2
等 级:论坛游民
帖 子:16
专家分:55
注 册:2010-5-17
收藏
得分:10 
   看错了,前后 互换啊,我以为向后移         
#include<stdio.h>
               #define N 100
                 main(){
                int a[1000],c,e,d,*p,b[1000];
                p=a;
                 for(d=0;d<N;d++,p++)
              a[d]=d;
               for(d=0;d<N;d++,p++)
               printf("%d ",a[d]);
               printf("\n");

printf("向后移M位 \n");
                scanf("%d",&c);
         for(d=N-c,e=0;d<N&&e<N;d++,e++)
               b[e]=a[d];
                 for(d=0,e=c;(d<N-c)&&e<N;d++,e++)
               b[e]=a[d];
               for(d=0;d<N;d++)
               printf("%d ",b[d]);getch();}



[ 本帖最后由 忘了 于 2010-6-15 13:37 编辑 ]
2010-06-15 13:05
快速回复:指针问题~~~有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前 ...
数据加载中...
 
   



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

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