PTA:用函数实现从数列中删除一个数

题目:

编写一个函数实现:删除n个元素的数列中下标为k的元素。

测试程序将输入一个下标值,调用本函数,删除数列{1,4,13,9,6,11,18,14,25}中该下标位置的元素,并输出删除后的数列。

函数接口定义:

void deleted ( int a\[\], int n, int k);

其中 a 、n和 k 都是用户传入的参数。 a是数列所在数组的首地址; n 是数列元素个数, k 是0, 8区间内的个位数。

裁判测试程序样例:

c 复制代码
#include <stdio.h>
void deleted ( int a[], int n, int k);
int main()
{
    int a[9]={1,4,13,9,6,11,18,14,25},k;
    int i;
    scanf("%d",&k);
    deleted(a,9,k);
    for(i=0;i<8;i++)
         printf("%4d", a[i]);
    return 0;
 }
/*请将答案写在这里*/

输入样例:

输入一个0,8间的个位数

0

输出样例:

输出数组中各元素占4列

4 13 9 6 11 18 14 25

解题过程

c 复制代码
#include <stdio.h>
void deleted(int a[], int n, int k){
    if (k < 0 || k >= n){
        return;
    }
    for (int i = k; i < n - 1; i++) {
        a[i] = a[i + 1]; 
    }
}
相关推荐
专注仿真4 小时前
ACM算法
算法·深度优先
Escalating_xu5 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
code斗5 小时前
Java数据结构:堆详解
java·开发语言·数据结构
阿钱真强道6 小时前
20 嵌入式操作系统 | ubus:把自己的程序状态暴露出去
c语言·进程通信·ubus·ubusd·blobmsg
顺顺 尼6 小时前
linux 进程信号(上)
linux·c++·算法
罗西的思考7 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(5)--- GRPO
人工智能·算法·机器学习
richard_yuu7 小时前
动态规划:强化学习的「数学基础」,从 MDP 到值迭代
深度学习·神经网络·算法·yolo·机器学习·动态规划
mmmmath_37 小时前
LeetCode.225.用队列实现栈
算法
Elaine3367 小时前
数据结构与算法-程序
数据结构·python·算法·计算机基础·编程基础
2601_965742227 小时前
布局GEO AI本地营销,我重点看这几个细节
大数据·人工智能·算法·ai·新媒体运营