在一个数组中删除指定位置元素的值。编写一个voidInput(int*a)函数用...用于实现输出n个元素的数组中的全部元素。
#include "stdio.h" #define N 5 void Input(int *a) { int i; for(i=0;i< N;i++) scanf("%d",a+i); } void Delete(int *a,int i) { int j; for(j=i+1;j< N;j++) *(a+j-1)=*(a+j); } void Print(int *a,int n) { int i; for(i=0;i< n;i++) printf("%d\t",a[i]); printf("\n"); } int main() { int b[N],i; printf("请输入%d个整数:\n",N); Input(b); printf("请输入待删除元素的下标(0~%d):\n",N-1); while(1) { scanf("%d",&i); if(i>=0&&i< N) break; printf("输入错,请重新输入:\n"); } Delete(b,i); printf("删除下标为%d的元素后的数组为:\n",i); Print(b,N-1); return 0; }
举一反三
- 在一个数组中删除指定位置元素的值。编写一个voidInput(int*a)函数用于实现向数组中输入数据,一个voidDelete(int*a,inti)函数用于实现删除数组中第i个元素,一个voidPrint(int*a,intn)函数用于实现输出n个元素的数组中的全部元素。
- 编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回它.
- 本题可选做。 实验七7.编写函数voidoutput(inta[],intn)输出数组a中的n个元素。编写函数[br][/br]intdeleteElement(inta[],intn,intx)将具有n个元素的一维数组a中出现的x删除(注意:重复出现的x均需删除),函数的返回值为删除x后的数组a中的实际元素个数。例如初始a数组中有6个元素,它们是{9,5,6,7,8,5},删除元素5后,数组变为{9,6,7,8},结果数组中有4个元素,函数返回4。 注意:被调函数deleteElement()要做两件工作,一是要删除元素,二是返回剩余元素个数。编写主函数测试该功能,要求数组元素的初值采用初始化的方式给出,然后调用函数output()输出数组的初始值,再输入待删除元素,调用函数deleteElement()删除元素,最后调用函数output()输出结果数组的全体元素值。
- 8. 编写函数max(int a[]),用来求数组a中元素的最大值。在主函数中定义一个数组,并输入其元素值,然后调用函数max,输出该数组中元素的最大值。 9. 编写一个采用顺序比较法对n个数由小到大进行排序的函数。在主函数中输入n的值及n个数,然后调用自定义函数,输出排序结果
- 有一严格升序的整型数组A,元素个数为n。现将其前k(0≤k≤n)个元素整体移动到数组后面,得到数组B,使B数组的前n-k个元素恰好是A数组的后n-k个元素,B数组的后k个元素恰好是A数组的前k个元素,且前后两部分的内部升序仍保持不变。请设计一个算法在B数组中查找某个给定元素value。算法设计在函数searchValue中,函数头可采用searchValue(int B[ ], int value)。那么你设计的高效算法的时间复杂度是 A: O(n) B: O(n^0.5) C: O(log n) D: O((log n)^2)
内容
- 0
定义一个包括n个元素的一维数组a,并从键盘输入这n个元素,程序填空。 int n,i; cin>>n; int 【】;//定义数组 for(i=0;i[n;i++) cin]>【】;//输入数组元素
- 1
设线性表有n个元素,以下操作中,__________在单链表上实现要比在顺序表上实现效率更高。 A: 删除指定位置元素的后一个元素 B: 在第一个元素的后面插入一个新的元素 C: 顺序输出前k个元素 D: 交换第i个元素和第n-i+1个元素的值(没,2,…,n)
- 2
如果定义 int a[5];说明数组中共有___个元素,数组元素a[3]表明该元素是数组中的第____个元素
- 3
如果定义"int al5];",说明数组中共有()个元素,数组元素a[3]表明该元素是数组中的第()个元素。
- 4
如果线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是____;第i个元素(1<=i<=n)之前插入一个元素时,需向后移动____个元素。如果要在第1个元素前插入一个元素,要后移动____个元素;删除第i个元素(1≤i≤n)时,需向前移动____个元素。向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动____个元素。