用c语言编写一个完整程序,要求给定 n 和 k,找出第 k 个被删除的整数。 输入格式: 输入的第一行给出两个整数n,k。 2≤k<n≤1000 输出格式: 输出一个整数——表示第 k 个被划掉的整数。
时间: 2023-12-03 14:43:42 浏览: 78
以下是一个用C语言编写的程序:
```c
#include <stdio.h>
int main()
{
int n, k, i, j, count = 0;
int nums[1000];
scanf("%d%d", &n, &k);
// 初始化数组
for (i = 0; i < n; i++) {
nums[i] = i + 1;
}
// 开始删除
i = 0;
while (count < n - 1) {
if (nums[i] != 0) {
j++;
}
if (j == k) {
nums[i] = 0;
j = 0;
count++;
}
i++;
if (i == n) {
i = 0;
}
}
// 打印结果
for (i = 0; i < n; i++) {
if (nums[i] != 0) {
printf("%d\n", nums[i]);
break;
}
}
return 0;
}
```
程序的思路是从1到n构造一个整数数组,然后循环遍历数组,每次跳过已经被删除的数字,找到第k个未被删除的数字并将其删除。最后循环输出数组中剩余的数字,即为第k个被删除的整数。
阅读全文