用C++写一个程序: 给定列表L=a 0 ,a 1 ,...,a n−1 ,a n ,删除列表中倒数第K个元素(1<=K<=n+1),并将新列表原地翻转后输出。
时间: 2024-05-26 15:10:26 浏览: 76
好的,以下是程序代码:
#include <stdio.h>
#define MAX_SIZE 100
int main()
{
int n, k, i;
int L[MAX_SIZE];
// 输入列表长度n和要删除的元素编号k
printf("请输入列表长度n和要删除的元素编号k:\n");
scanf("%d %d", &n, &k);
// 输入列表元素
printf("请输入列表元素:\n");
for (i = 0; i < n; i++)
scanf("%d", &L[i]);
// 删除倒数第k个元素
for (i = n - 1; i >= 0; i--)
{
if (i == n - k)
break;
}
for (; i < n - 1; i++)
{
L[i] = L[i+1];
}
n--;
// 翻转列表
for (i = 0; i < n/2; i++)
{
int temp = L[i];
L[i] = L[n-1-i];
L[n-1-i] = temp;
}
// 输出新列表
printf("新列表为:\n");
for (i = 0; i < n; i++)
printf("%d ", L[i]);
return 0;
}
请问还有其它问题需要解答吗?
阅读全文