C语言编写一个程序,包含数组、指针、函数,个位数是6,且能被三整除的五位数共有多少个
时间: 2024-03-16 14:47:20 浏览: 66
好的,以下是符合要求的程序:
```c
#include <stdio.h>
int count(int arr[], int size);
int main() {
int arr[90000]; // 数组大小为9万,因为最多只有9万个五位数符合要求
int i, j;
int *p = arr;
// 遍历所有五位数
for (i = 10006; i < 100000; i++) {
// 判断个位数是否为6且能被3整除
if (i % 10 == 6 && i % 3 == 0) {
// 将符合要求的五位数存入数组
*p = i;
p++;
}
}
// 计算数组中存储的符合要求的五位数的个数
int size = p - arr;
int num = count(arr, size);
printf("符合要求的五位数共有%d个\n", num);
return 0;
}
// 计算数组中符合要求的元素个数
int count(int arr[], int size) {
int i, count = 0;
for (i = 0; i < size; i++) {
if (arr[i] % 10 == 6 && arr[i] % 3 == 0) {
count++;
}
}
return count;
}
```
程序的核心思路是,先遍历所有的五位数,判断是否符合要求,如果符合要求则存入一个数组中,最后计算数组中符合要求的元素个数即可。
需要注意的是,数组大小需要预估一下,这里我设置为9万,因为最多只有9万个五位数符合要求。同时,符合要求的判断需要在判断个位数是否为6的基础上再判断能否被3整除,否则可能会出现误判。
阅读全文