用DevC++写一个数组中存档n个数据(比如n=10),编写函数删除下标为k(需要从键盘输入k)的元素的值,并遍历删除后的数组。
时间: 2025-02-05 07:15:28 浏览: 27
好的,我可以帮您使用DevC++编写一个程序来实现这个功能。以下是一个可能的解决方案:
```cpp
#include <iostream>
using namespace std;
void deleteElement(int arr[], int &size, int k);
void printArray(int arr[], int size);
int main() {
const int n = 10;
int arr[n];
// 初始化数组
for(int i = 0; i < n; i++) {
arr[i] = i + 1;
}
cout << "原始数组: ";
printArray(arr, n);
// 输入要删除的元素下标
int k;
cout << "请输入要删除的元素下标 (0 到 " << n-1 << "): ";
cin >> k;
// 删除元素并遍历数组
if(k >= 0 && k < n) {
deleteElement(arr, n, k);
cout << "删除后的数组: ";
printArray(arr, n-1);
} else {
cout << "无效的下标!" << endl;
}
return 0;
}
void deleteElement(int arr[], int &size, int k) {
for(int i = k; i < size - 1; i++) {
arr[i] = arr[i+1];
}
size--;
}
void printArray(int arr[], int size) {
for(int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
```
这个程序做了以下几件事:
1. 定义了一个函数 `deleteElement` 来删除指定下标的元素。
2. 定义了一个函数 `printArray` 来打印数组。
3. 在 `main` 函数中,首先初始化了一个包含10个元素的数组。
4. 然后打印原始数组。
5. 接着从用户那里输入要删除的元素下标。
6. 如果输入的下标有效,调用 `deleteElement` 函数删除元素,并打印删除后的数组。
7. 如果输入的下标无效,输出错误信息。
阅读全文