c语言小明很讨厌7,因此他打算把数组里面所以跟7有关的数字通通踢出去。小明是一个神童(很神的儿童),他能判断哪些是7的倍数(也很讨厌),但同时也只能看到个位上的7。请你帮帮小明,给他看他喜欢的数字。
时间: 2024-10-21 22:08:28 浏览: 21
在 C 语言中,我们可以创建一个函数帮助小明过滤掉数组中所有以 7 结尾的整数,同时检查它们是否是 7 的倍数。这里提供一个简单的算法:
```c
#include <stdio.h>
// 判断是否为7的倍数的辅助函数
int isMultipleOfSeven(int num) {
return num % 7 == 0; // 如果余数是0,那么num就是7的倍数
}
// 过滤数组并打印非7和7的倍数
void filterNumbers(int arr[], int size) {
for (int i = 0; i < size; i++) {
if (arr[i] % 10 != 7 || !isMultipleOfSeven(arr[i])) { // 检查个位不是7或整个数不是7的倍数
printf("%d ", arr[i]); // 打印喜欢的数字
}
}
printf("\n");
}
int main() {
int numbers[] = {14, 28, 35, 49, 63, 72, 84, 91};
int size = sizeof(numbers) / sizeof(numbers[0]);
filterNumbers(numbers, size);
return 0;
}
```
在这个程序中,`filterNumbers` 函数遍历数组,如果元素个位数不是7,或者它本身不是7的倍数,则打印这个元素。`main` 函数中定义了一个包含一些数字的数组,并调用了 `filterNumbers` 来展示小明喜欢的数字。
阅读全文