# include <stdio.h> int main(void) { int a[23] = {1, 5, 66, 8, 55, 9, 1, 32, 5, 65, 4, 8, 5, 15, 64, 156, 1564, 15, 1, 8, 9, 7, 215}; int b[24]; //用来存放插入数字后的新数组, 因为又插入了一个值, 所以长度为24 int Index; //插入值的下标, Index是“下标”的英文单词 int num; //插入的值 int i; //循环变量 printf("请输入插入值的下标:"); scanf("%d", &Index); printf("请输入插入的数值:"); scanf("%d", &num); for (i=0; i<24; ++i) { if (i < Index) { b[i] = a[i]; /*循环变量i小于插入值位置Index时, 每一个元素所放的位置不变*/ } else if (i == Index) { b[i] = num; //i等于Index时, 将插入值赋给数组b } else { b[i] = a[i-1]; /*因为插入了一个新的元素, 所以插入位置后的每一个元素所存放的位置都要向后移一位*/ } } for (i=0; i<24; ++i) { printf("%d\x20", b[i]); } printf("\n"); return 0; }输出结果是:
# include <stdio.h> int main(void) { int a[23] = {1, 5, 66, 8, 55, 9, 1, 32, 5, 65, 4, 8, 5, 15, 64, 156, 1564, 15, 1, 8, 9, 7, 215}; int b[22]; /*用来存放删除数字后的新数组, 因为删除了一个值, 所以长度为22*/ int Index; //要删除的值的下标 int i; //循环变量 printf("请输入要删除的值的下标:"); scanf("%d", &Index); for (i=0; i<23; ++i) { if (i < Index) { b[i] = a[i]; /*循环变量i小于插入值位置Index时, 每一个元素所存放的位置不变*/ } else { b[i] = a[i+1]; /*删除值后面的元素都往前移一位, 要删除的值直接被覆盖*/ } } for (i=0; i<22; ++i) { printf("%d\x20", b[i]); // \x20表示空格 } printf("\n"); return 0; }输出结果是:
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有