解题思路

1 2 3 4 5 6 7 8 9

前面都向后移动2的话

8 9 1 2 3 4 5 6 7

可以看出就是8 9 换到前面了

先保存最后一位的值9,然后前面的所有数字后移一位,再把9放到第一位

接下来就是重复循环

1.难点在于移动吧

void setarray(int arr[] , int n , int m)
{int i=0,tmp=0;while(m--)//移动m位数 {//记录下每次的最后一位数,等前面的移动完成后再赋值给arr【0】 tmp = arr[n-1]; for(i=n-1;i>0;i--){arr[i]=arr[i-1];}arr[0]=tmp;}
}

2.剩下 的很简单

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>//打印函数
void print(int arr[],int n)
{int i;for(i=0;i<n;i++){printf("%d ",arr[i]); }
}//调整数组的函数
void setarray(int arr[] , int n , int m)
{int i=0,tmp=0;while(m--)//移动m位数 {//记录下每次的最后一位数,等前面的移动完成后再赋值给arr【0】 tmp = arr[n-1]; for(i=n-1;i>0;i--){arr[i]=arr[i-1];}arr[0]=tmp;}
}int main ()
{int n,m;puts("请输入整数个数和移动位数(以空格隔开):");scanf("%d%d",&n,&m);//以整数的个数开辟数组int sz = sizeof(int) * n; int * arr = (int *)malloc(sz);assert(arr);//初始化数组int i=0;printf("请输入%d个数:\n",n);for(i=0;i<n;i++){scanf("%d",arr+i);} //输出原始数组puts("调整前:");print(arr,n); //调整数组setarray(arr,n,m);//输出调整后的数组puts("\n调整后:");print(arr,n);//释放内存 非常重要free(arr);arr=NULL; return 0;
}

3.效果图

(C语言经典题)有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,相关推荐

  1. c语言指针函数版-有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面的m个数

    //有n个整数,顺序向后移动m个位置,最后m个数变成最前面的m个数 //每次移动一个,end为每次替换的数 void move(int array[20],int n,int m){int *p,en ...

  2. 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数(数组)

    我们只是简简单单的数组,并没有涉及到指针,所以以后学了指针会来优化代码的. 希望我记得..... #include<stdio.h> int main() {int n[30] = { 1 ...

  3. ACMNO.41C语言-数字调序 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数

    题目描述 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图. 写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数. 输入 输入数据的个数n n个整数 移动的位置m ...

  4. 数组旋转问题【有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数】

    目录 一.问题描述: 二.解题思路 三.代码实现 四.运行结果 一.问题描述: 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数.比如原数组: 1 2 3 4 5 6 7(n=7, ...

  5. 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。

    C程序设计(第五版)谭浩强著,第八章第四题. #include<stdio.h> int main() {int i,n,m, a[10000], * p = a;void swap(in ...

  6. C语言 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数

    #include <stdio.h> void move(int array[20],int n,int m){ //循环后移一次的函数int *p,array_end;array_end ...

  7. python 编程题 有n个整数、使其前面各数_有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数。...

    #include #include int main() { setvbuf(stdout,NULL,_IONBF,); //使用Eclipse开发环境时必须写. void process(int * ...

  8. python 编程题 有n个整数、使其前面各数_有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。...

    package Demo36Number_Roll; import java.util.Arrays; import java.util.Scanner; /** * 有n个整数,使其前面各数顺序向后 ...

  9. 一个数组有n个整数,使其前面各数顺序向后移m个位置, 最后m个数变成最前面的m个数

    #include <stdio.h> #define N 20 void move(int *a,int n,int m); int main(void) {int a[N];int i, ...

最新文章

  1. SAP QM 不常用功能点之 Physical-Sample Record
  2. 用Windows Live Writer离线更新博思日志
  3. HDU-2149(博弈)
  4. 518. 零钱兑换 II golang动态规划
  5. 底层知识学习记录目录表
  6. 解决Eclipse 项目报错:Unbound classpath container
  7. Android系统(转)
  8. 【Python】求n!
  9. 数字图像处理--图像旋转变换的推导
  10. ie提示保护计算机关闭网页,xp系统解决IE为保护计算机关闭网页方法分享
  11. f2blog最新注入漏洞
  12. HDU 4379 水题,大水,但我WA了很多次,做了很久
  13. python 根据关键字 切割pdf_用python拆分pdf
  14. Axure| 旋转控件或者图片
  15. IGBT 直通短路过程问题分析
  16. poedit使用(本地化和国际化)
  17. C语言邻接矩阵的实现
  18. 什么是集群?集群分为哪几类?
  19. Google软件测试之道
  20. 为什么Facebook需要养号?Facebook养号系统有什么作用?

热门文章

  1. 电脑硬件知识之菜鸟必看的主板接口知识大全[图文]
  2. 西安石油大学计算机学院院长刘天时,吴广茂教授做客西安石油大学、畅谈科技论文写作...
  3. STM32学习+步科组态屏
  4. waterfox同步书签
  5. redis缓存雪崩、缓存击穿和缓存穿透还傻傻分不清?看这篇就够了
  6. python读取摄像头数据_Opencv 读取摄像头数据 | 代码驱动科技
  7. 如何通过网页查看真机或者虚拟机的数据库
  8. 微信小程序语音聊天智能对话(源码)
  9. optitrack使用教程(1)
  10. 618 系列篇丨电商平台大促期间精准营销“五步”走法则