循环输入数组跳过重复项
时间: 2023-10-09 07:13:09 浏览: 37
以下是Python代码示例,实现循环输入数组并跳过重复项:
```
arr = []
while True:
num = int(input("请输入数字:"))
if num in arr:
print("重复项,跳过")
else:
arr.append(num)
cont = input("是否继续输入?(y/n)")
if cont == "n":
break
print("输入的数组为:", arr)
```
其中,arr表示存储输入数字的数组,while循环用于不断输入数字,判断输入的数字是否已经存在于arr数组中,如果存在则跳过,否则将其添加到arr数组中。在每次输入完数字后,询问用户是否继续输入,如果回答“n”,则跳出循环,输出最终的数组结果。
相关问题
c语言循环输入数组跳过重复项
可以使用一个循环来逐个输入数组元素,然后在输入时判断该元素是否已经存在于数组中,如果已经存在,则跳过该元素的输入,否则将其加入数组中。
以下是一个示例代码:
```
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE];
int n, i, j, duplicate;
printf("Enter the size of the array: ");
scanf("%d", &n);
// Input array elements
for (i = 0; i < n; i++) {
printf("Enter element %d: ", i+1);
scanf("%d", &arr[i]);
// Check for duplicates
duplicate = 0;
for (j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
printf("Duplicate element found. Skipping...\n");
duplicate = 1;
break;
}
}
// If duplicate found, decrement i to overwrite the element
if (duplicate) {
i--;
}
}
// Print the array
printf("Array: ");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,我们使用了两个嵌套的循环来检查每个输入的元素是否已经存在于数组中。如果找到重复项,则会打印一条消息并将标志变量“duplicate”设置为1。如果标志变量被设置为1,则会将i减1,以便在下一次循环时覆盖相同的元素。最后,我们输出数组中的所有元素。
c语言循环输入数组跳过重复项,数组的范围在0~33之间
以下是示例代码:
```c
#include <stdio.h>
int main() {
int arr[10]; // 假设数组长度为10
int i, j, num;
printf("请输入10个0~33之间的整数:\n");
for (i = 0; i < 10; ) {
scanf("%d", &num);
if (num >= 0 && num <= 33) { // 判断输入是否在范围内
for (j = 0; j < i; j++) { // 判断是否重复
if (arr[j] == num) {
printf("您已经输入过这个数了,请重新输入:\n");
break;
}
}
if (j == i) { // 没有重复,加入数组
arr[i] = num;
i++;
}
} else {
printf("输入不在0~33范围内,请重新输入:\n");
}
}
printf("您输入的数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```