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]; 
    }
}
相关推荐
烛衔溟13 小时前
C语言动态规划:最长公共子序列深度解析
c语言·数学建模·动态规划·算法优化·最长公共子序列·lcs
烛衔溟14 小时前
C语言动态规划:0-1背包问题深度解析
c语言·数学建模·动态规划·算法优化·0-1背包问题
qq_4308558814 小时前
线性代数第一章第一课: 二阶三阶行列式
线性代数·算法·矩阵
FMRbpm14 小时前
链表实现栈:具体函数实现
数据结构·c++·新手入门
Want59514 小时前
C/C++跳动的爱心③
java·c语言·c++
量子炒饭大师14 小时前
Cyber骇客的数据链路重构 ——【初阶数据结构与算法】线性表之单链表
c语言·数据结构·c++·windows·git·链表·github
弱冠少年14 小时前
xiaozhi任务管理分析(基于ESP32)
c语言
星轨初途14 小时前
C++的条件判断与循环及数组(算法竞赛类)
开发语言·c++·经验分享·笔记·算法
Keep__Fighting14 小时前
【机器学习:线性回归】
人工智能·python·算法·机器学习·支持向量机·线性回归·scikit-learn