• 题目描述

有n个整数,使前面各数顺序向后移动k个位置,移出的数再从开头移入。输出移动后的数组元素。
题目没有告诉你n的范围,希望你读入n之后用malloc()函数动态申请内存空间,不要提前定义数组的大小。不要偷懒哦。
另外要求定义并使用函数ringShift()
void ringShift(int *a, int n, int k)
{
//循环移动后的数值仍然存入数组a中
}

  • 输入

    输入分3行,第一行是一个整数n,第二行是n个整数,用空格隔开。第三行是一个整数k。

  • 输出

    输出n个整数,由空格隔开。输出占一行。

  • 样例输入
6
1 2 3 4 5 6
2
  • 样例输出
5 6 1 2 3 4
  • 考察指针的初步运用,动态内存的申请
#include<stdio.h>
#include <stdlib.h>            //包含malloc函数的头文件void ringShift(int *a, int n, int k)
{int i ,j ,temp ;for(i = 0;i < k;i++ ){temp = a[n-1];for(j = n-2;j >= 0;j-- ){a[j+1] = a[j];}a[0] = temp;}
}int main()
{int flag = 0;int i, n ,k ;scanf("%d", &n);int *s1 = (int *)malloc(n*sizeof(int));        //申请动态内存空间for(i = 0;i < n;i++){scanf("%d", &s1[i]);}scanf("%d", &k);ringShift(s1,n,k);for(i = 0;i < n;i++){if(flag == 0){printf("%d", s1[i]);flag++;}else printf(" %d", s1[i]);}free(s1);                             s1 = NULL;        //防止后面的程序再用到return 0;}

【C语言】1162: 循环移动(指针专题)(初识stdlib.h(malloc))相关推荐

  1. C语言 for循环打印倒三角

    C语言 for循环打印倒三角 #include<stdio.h> int main(void) {int n, i, j;for(n = 4; n > 0; n--)//控制行,每行 ...

  2. C和指针之动态内存分配malloc、calloc、realloc简单使用和区别

    1.介绍 3个函数都在<stdlib.h>头文件 1).void* malloc(unsigned size); 在内存的动态存储区中分配一块长度为size字节的连续区域,参数size为需 ...

  3. 01 C语言指针专题

    参考链接: 未摘抄:C/C++指针详解之基础篇(史上最全最易懂指针学习指南!!!!)_尘海折柳的博客-CSDN博客_c++指针详解 让你不再害怕指针--C指针详解(经典,非常详细)_唐大麦的博客-CS ...

  4. OJ1159: 最大的两个数(指针专题)(C语言)

    题目描述 加粗样式求n个整数中的最大的两个元素.要求定义一个函数LargestTow(),求数组a的最大的两个元素,分别存入形参指针pfirst和psecond所指存储单元,函数原型如下: void ...

  5. 【C语言】1161: 字符串长度(指针专题)(空格和\0)

    题目描述 编写一函数len,求一个字符串的长度,注意该长度不计空格.要求用字符指针实现.在主函数中输入字符串,调用该len函数后输出其长度. int len(char *sp) { //实现sp所指串 ...

  6. 【C语言】矩阵的最大值(指针专题)

    题目描述 找出一个2×3的整数矩阵中的最大值及其行下标和列下标,要求调用函数FindMax(int p[][3], int m, int n, int *pRow, int *pCol)实现,行下标和 ...

  7. 【C语言】最大的两个数(指针专题)

    题目描述 求n个整数中的最大的两个元素.要求定义一个函数LargestTow(),求数组a的最大的两个元素,分别存入形参指针pfirst和psecond所指存储单元,函数原型如下: void Larg ...

  8. 【C语言】又是排序(指针专题)

    题目描述 将输入的四个整数按由大到小的顺序输出. 已定义如下swap函数,可实现形参pa和pb所指内存单元的内容交换.请务必使用本函数实现两个变量内容的互换. void swap( int *pa, ...

  9. 【C语言-B站鹏哥】初识指针

    目录 一.指针是什么 二.指针和指针类型 三.野指针 四.指针运算 五.指针和数组 六.二级指针 七.指针数组 一.指针是什么 在计算机科学中,指针 (Pointer )是编程语言中的一个对象,利用地 ...

最新文章

  1. 微信小程序 循迹功能制作
  2. nodejs 截断字符串_node.js – nodejs:字符串操作
  3. 写一个能自动生成四则运算题目的软件,要求除了整数,还要支持正分数的四则运算。和同学们比较各自的程序功能、实现方法的异同。...
  4. 编程之美系列之二——寻找出现频率超过一半的数
  5. java二级为什么没题库_为什么刷了那么多二级java试题,却依然提高不了分数?...
  6. java语言编程三角形图形_编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用......
  7. 引领性指标与滞后性指标_测量可用性组同步滞后
  8. [Python] 读取存储.mat数据 scipy.io.loadmat(FileName)和scipy.io.savemat('XXX.mat', {'x': x,'y': y,'z': z})
  9. 微型orm fluentdata
  10. linux看网卡ip,linux查看ip地址、显示太网卡配置、网络设备
  11. SQL Server根据地图坐标经纬度计算距离
  12. 计算机组成原理复习笔记
  13. 第四方支付崛起,聚合支付为什么这么火?
  14. 机翻福音-多种语言平行语料库资源
  15. 顺丰理赔要讲究方法,注意这几个方面能获得满意结果
  16. Excel报:文件已损坏无法打开错误问题解决
  17. Memcached分布式算法
  18. bit、byte、位、字节、汉字的关系
  19. iphone11夜景模式怎么开
  20. 英语口语116之每日十句口语

热门文章

  1. python django mysql web页面多级联动_Python Web实战:Python+Django+MySQL实现基于Web版的增删改查...
  2. 中如何刷新当前路由_企业装修和家庭改造中,路由器及接收器如何安放
  3. SpringBoot项目集成Mybatis Plus(三)分页插件
  4. java servlet dao_Java+MyEclipse+Tomcat 详解Servlet和DAO数据库增删改查操作(源码)
  5. 复制网页中的表格格式后导入到excel、markdown、数据库、json中,并转换表格格式
  6. mysql中sql语句使用_mysql数据库中用到sql语句
  7. java webservice报文过长_年薪百万IT大牛分享及(京东,阿里,58)Java初中高级765道面试题...
  8. c++去除图片上的文字_图片文字修改去除方法
  9. Python入门之软件开发目录规范
  10. C++中宏的定义与用法(现已被内联函数所代替)