c语言:已知一个数列{1,4,13,9,6,11,18,14,25},编写程序实现:输入一个下标n,删除数列中该下标位置的元素,输出删除后的数列。
时间: 2024-11-26 20:05:38 浏览: 1
用选择法对个数排序由小到大-C++程序设计(谭浩强完整版)
在C语言中,你可以通过动态数组的方式来实现这个功能。首先,你需要创建一个足够大的数组来存储序列,然后读取用户输入的下标并检查其有效性。如果下标有效,你就需要将后续元素前移一位以填补空缺,最后输出删除指定元素后的数列。
下面是一个简单的示例程序:
```c
#include <stdio.h>
#define MAX_SIZE 100
// 函数声明
void deleteElement(int arr[], int size, int n);
int main() {
int arr[MAX_SIZE], n, i;
// 初始化数列
for (i = 0; i <= 9; i++) {
arr[i] = {1, 4, 13, 9, 6, 11, 18, 14, 25}[i];
printf("%d ", arr[i]);
}
// 输入下标
printf("\nEnter the index to delete: ");
scanf("%d", &n);
// 检查下标是否有效
if (n >= 0 && n < MAX_SIZE) {
deleteElement(arr, sizeof(arr)/sizeof(arr[0]), n);
printf("After deleting element at index %d:\n", n);
for (i = 0; i < MAX_SIZE - 1; i++) {
printf("%d ", arr[i]);
}
} else {
printf("Invalid index!\n");
}
return 0;
}
// 删除函数
void deleteElement(int arr[], int size, int n) {
int i;
for (i = n; i < size - 1; i++) {
arr[i] = arr[i + 1]; // 将后续元素前移
}
size--; // 更新数组大小
}
```
运行此程序后,用户可以输入他们想要删除的元素的位置,程序会删除该位置的元素,并显示更新后的数组。
阅读全文