| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:新手拜托大家看一看,这哪里出问题了?
取消只看楼主 加入收藏
神经彬
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-10-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
新手拜托大家看一看,这哪里出问题了?
//题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数???
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int *a,n,m,i,x;
    printf("请输入数组大小:");
    scanf("%d",&n);
    a=(int*)malloc(sizeof(int)*n);//数组空间大小

    printf("请输入输入整数的个数:");
        scanf("%d",&x);
    for(i=0;i<x;i++){
        scanf("%d",&a[i]);
    }
   

    printf("请输入向后移动的个数(不许加起字符数不超过数组空间大小):");
    scanf("%d",&m);
    for(i=m;i<m+x;i++){
        a[i]=a[i-m];
    }//向后移动m位后,元素变化了位置
    for(i=m;i<x+m;i++){
        printf("%d",a[i]);
    }
    printf("\n");
    int j=0;
    for(i=m+m-1;i>m-1;i--){
        a[m+x-j-1]=a[i];
        j++;
    }//最后m个数变成最前面的m个数
    printf("变之后:");
    for(i=m;i<m+x;i++){
        printf("%d",a[i]);
    }

    return 0;
}

2016-10-11 23:45
神经彬
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-10-11
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
运行结果为什么是这样?
2016-10-11 23:46
神经彬
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-10-11
收藏
得分:0 
回复 3楼 linlulu001
输入:1 2 3 4 5
输出:1 2 3 1 2
难道是我领会错题目的意思了吗
2016-10-12 16:54
神经彬
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-10-11
收藏
得分:0 
回复 4楼 word123
12345向右移动了两个后,后面两个变成了前面两个,输出就是12312.我是这样理解题目的,难道是我领会错了吗
2016-10-12 16:55
神经彬
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-10-11
收藏
得分:0 
回复 5楼 炎天
谢谢!一语惊醒梦中人!非常感谢!
2016-10-12 17:14
快速回复:新手拜托大家看一看,这哪里出问题了?
数据加载中...
 
   



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

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