标题:数字移位 指针 求助
只看楼主
cherish123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-11-14
结帖率:0
 问题点数:0 回复次数:1 
数字移位 指针 求助


/*4.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数,如图。写一函数实现以上功能,在主函数中输入n个整数,并输出调整后的n个数。
【要求】利用指针实现循环后移 */


#include<stdio.h>
int n,m;
void f(int*a,int*b)
{
    int i;

    printf("请输入n个数字\n");
    for(i=0;i<n;i++,a++)
    scanf("%d",a);


    for(i=n-1;i>=0;i--)
    *(a+m+i)=*(a+i);


    for(i=0;i<m;i++,a++)
    *a=*(a+n);


    for(i=0;i<n;i++,a++)
    printf("%d  ",*a);
}


int main()
{
    int a[100],b[100];
    printf("请输入数字的个数n,和向后移的位数m\n");
    scanf("%d%d",&n,&m);
    f(a,b);
    return 0;
}



搜索更多相关主题的帖子: include 
2011-11-16 18:47
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
得分:0 
for(i=0;i<n;i++,a++)
    scanf("%d",a);  这地方不应该是a吧,a是首元素地址

2011-11-17 10:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-355415-1-1.html




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

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