首页 > 其他分享 >C语言——数组逐元素操作练习

C语言——数组逐元素操作练习

时间:2024-11-26 23:02:00浏览次数:9  
标签:arr 练习 元素 博客 C语言 CSDN 数组

        定义一个能容纳10个元素的整形数组a,从键盘读取9个整数存放到前9个数组元素中。

一.

        从键盘读取一个整数n和位置p(0<=p<=8),插入n到数组a中,插入位置:下标p。要求插入点及后续的数组元素都要后移动。

        代码如下:

int main()
{
	int arr[9], i, p, num;
	//输入数组,对数组前9-1个元素赋值
	for (i = 0; i <= 7;i++)
		scanf("%d", &arr[i]);
	//输入要插入数的下标p
	printf("输入要插入数的下标p");
	scanf("%d", &p);
	//将p到(9-1)的数往后移动一个下标
	for (i = 7; i >=p;i--)
		arr[i+1] = arr[i];
	//输入要插入的数num
	printf("输入要插入的数:");
	scanf("%d", &num); 
	arr[p] = num;
	for(i=0;i<=8;i++)
	printf("%d", arr[i]);
	return 0;
}

运行结果:

代码解读:

        首先对一个数组进行赋值,因为数组中的元素要向后面移动一个下标,所以定义数组为n个元素,对n-1个元素进行赋值。

        然后选定要插入数的数组下标p,从i=n-2开始到p,依次a[i]=a[i+1],(注意此处不能从p到n-1,因为会出现覆盖现象,读者可以自己尝试体验一下).

        接着输入要插入的数赋给a[p],利用循环把新数组中的数打印出来。

二.

        删除数组中某一个元素。

代码如下

int main()
{
	int arr[6], i, p;
	for (i = 0; i <= 5; i++)
		scanf("%d", &arr[i]);
	printf("输入要删除的元素下标p;");
	scanf("%d", &p);
	for (i = p + 1; i <= 5; i++)
		arr[i - 1] = arr[i];
	for (i = 0; i <= 4; i++)
		printf("%d", arr[i]);
	return 0;
}

运行结果如下:

对于代码里面的内容,读者可以根据上一道题来研究。

往期回顾:

C语言编程练习:验证哥德巴赫猜想 进制转换 rand函数-CSDN博客

C语言——函数基本知识(三)-CSDN博客

C语言——函数基本知识(二)-CSDN博客

C语言 ——函数基本知识(一)-CSDN博客

“山林不向四季起誓,荣枯随缘”——C语言(爱心+祝福语)代码分享_爱心代码朋友圈文案-CSDN博客

C语言——二分法查找讲解_c语言二分法查找一个数-CSDN博客

C语言穷举法算法经典题型(二)_百钱百鸡问题c语言-CSDN博客

C语言穷举法算法经典题型(一)_c语言穷举法经典例题-CSDN博客

C语言算法经典基础题型——求一个数的回文数(两种方法)_c语言for循环求各位数字回文数-CSDN博客

C语言基础入门(小白)三种方法解决幽灵换行符问题_如何处理scanf输入时的换行符?-CSDN博客

标签:arr,练习,元素,博客,C语言,CSDN,数组
From: https://blog.csdn.net/hjx1235/article/details/143974227

相关文章

  • C语言函数递归经典题型——汉诺塔问题
    一.汉诺塔问题介绍        Hanoi(汉诺)塔问题。古代有一个梵塔,塔内有3个座A、B、C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但规定每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程......
  • 用java实现栈和队列(以数组为底层)
    1.实现栈publicclassStackDemo{privateint[]arr;privateinti=-1;publicStackDemo(intsize){arr=newin[size];}//入栈publicvoidadd(intvalue){if(i==arr.length-1){Syste......
  • C语言(七)----指针(下)
    深入理解指针(4)字符指针变量#include<stdio.h>intmain(){ charch='h'; char*pch=&ch; printf("%c\n",*pch); *pch='g'; printf("%c\n",*pch); return0;}//结果为://h//g//也可以:#include<stdio.h>int......
  • 算法练习:34. 在排序数组中查找元素的第一个和最后一个位置
    题目链接:34.在排序数组中查找元素的第一个和最后一个位置。在这里我们可以用暴力的解法:就是一次判断,第一次遇见的元素==target,和最后一次遇见的,就保存起来但是这样暴力解法时间复杂度为O(N)。时间复杂度超出了题目意思。优化解法:因为数组是有序的,我们可以根据二分查找思想......
  • 差旅费报销管理信息系统(2022java期末考试练习)
    2.系统要求与评分标准:2.1页面要求(1)系统可以通过浏览器直接访问;(1分)(2)各个功能页面整体风格统一;(3)首页为用户登录页面,职员、职员经理、总经理、财务人员四种角色用户登录后,进入相应的功能页,只能看到角色允许访问功能模块,用户登录界面包含用户、密码两个文本框,以及登录按钮;(4分)(4)职......
  • 差旅费报销管理信息系统进度1(2022java期末考试练习)接上题目
    目前做了第一个表出差申请的增删改查项目结构mapper中放sql语句service写函数定义web写具体servlet操作前端用html+jsp......
  • 学习分享-队列-1(数据结构C语言)
    本章写的是基于链表的队列,通过链表来实现队列的操作一个基于链表的队列(Queue)数据结构,先进先出结构体定义typedefstructNode{intdata;structNode*next;structNode*pre;}Node;定义一个节点(Node)结构体,包含数据(data)、指向下一个节点的指针(next)和指向......
  • C语言学习笔记(持续更新)
    C语言计算机的组成(预备知识)计算机组成计算机:能进行计算和逻辑的设备硬件:组成计算机的各种物理部件(鼠标,键盘)【硬件=电子设备+单片机编程+集成电路+嵌入式系统】软件:计算机中运行的程序和数据【软件=系统软件+应用软件+编程语言+算法和数据结构】计算机的六大部件中......
  • C语言(数据,运算符)
    C语言学习笔记2——数据,运算符变量概念在程序执行过程中其中的值可以被改变的量变量代表内存中具有特定属性的一个存储单元,他是用来存储数据的,也就是存变量的值变量应有个名字,以便于通过名字访问变量举例:#include<stdio.h>intmain(){ //①声明变量并初始化 i......
  • 学习分享-队列-2(数据结构C语言)
    本章通过C++代码使用STL(标准模板库)中的queue类实现了栈的基本操作,包括入队、出队、查看队头元素、判断队列是否为空以及清空队列。导入头文件#include<iostream>#include<queue>//引入队列的头文件usingnamespacestd;创建队列queue<int>q;入队操作q.push(10)......