按如下要求编写c语言程序: (1)定义一个函数mydel,其功能是对具有n个元素的数组a,删除下标为k的元素的值,将表示元素个数变量的n减1,返回n的值。 (2)再定义一个函数myout,其功能是输出数组a中各元素的值。 (3)在main() 函数中,输入10个整数到数组b中,再输入一个整数给变量y,先调用myout输出删除前数组b中的各元素的值;然后调用mydel函数删除下标为y元素的值;最后再调用myout输出删除后数组b中的各元素的值;
时间: 2023-11-27 18:50:03 浏览: 19
以下是程序代码:
```c
#include <stdio.h>
int mydel(int a[], int n, int k) {
if (k < 0 || k >= n) { // 判断下标是否越界
printf("Error: index out of range.\n");
return n;
}
for (int i = k; i < n - 1; i++) {
a[i] = a[i + 1]; // 移动元素
}
return n - 1;
}
void myout(int a[], int n) {
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
}
int main() {
int b[10], y, n = 10;
printf("Please enter 10 integers:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &b[i]);
}
printf("Please enter the index to delete:\n");
scanf("%d", &y);
printf("Before deletion: ");
myout(b, n);
n = mydel(b, n, y);
printf("After deletion: ");
myout(b, n);
return 0;
}
```
程序运行结果示例:
```
Please enter 10 integers:
1 2 3 4 5 6 7 8 9 10
Please enter the index to delete:
3
Before deletion: 1 2 3 4 5 6 7 8 9 10
After deletion: 1 2 3 5 6 7 8 9 10
```
阅读全文