c语言编写函数,函数功能是:计算 k 以内(包括k)最大的 10 个(不足 10 个则是所有的)能被 13 或 17 整除的自然数之和。要求输入输出均在主函数中完成。
时间: 2024-12-27 21:32:56 浏览: 9
在 C 语言中,你可以通过创建一个循环结构来实现这个功能。首先从 1 开始遍历到 k,检查每个数是否能被 13 或 17 整除,并将满足条件的数添加到结果列表中。当列表达到 10 个元素时停止,并返回它们的总和。如果列表不满 10 个,就直接返回当前已找到的所有符合条件的数的和。
以下是一个简单的函数实现:
```c
#include <stdio.h>
#include <stdbool.h> // 包含 bool 类型和宏 bool
// 定义全局数组存储结果
int sum[10] = {0}; // 初始化所有元素为0
int index = 0; // 记录有效数值的数量
bool is_divisible_by_13_or_17(int num) {
return (num % 13 == 0 || num % 17 == 0);
}
void find_sum_of_numbers(int k) {
for (int i = 1; i <= k && index < 10; i++) {
if (is_divisible_by_13_or_17(i)) {
sum[index++] = i; // 添加到结果数组并更新索引
}
}
int total_sum = 0;
for (int i = 0; i < index; i++) {
total_sum += sum[i];
}
printf("在%d以内(包括k),13或17的倍数的最大前10个数之和为:%d\n", k, total_sum);
}
int main() {
int k;
printf("请输入一个整数 k: ");
scanf("%d", &k);
find_sum_of_numbers(k);
阅读全文