C语言(编程题)计算出k以内最大的10个能被13或17整除的自然数之和。(k<3000) 输入描述: k的值。(k<3000) 输出描述: k以内最大的10个能被13或17整除的自然数之和。
时间: 2024-09-13 19:14:19 浏览: 60
在C语言中,我们可以创建一个循环来找到小于等于给定值k的所有能被13或17整除的数,然后对这10个数求和。这里有一个简单解决方案:
```c
#include <stdio.h>
long long sum_of_divisible_numbers(int k) {
int count = 0;
long long sum = 0;
int num = 1;
while (count < 10 && num <= k) {
if (num % 13 == 0 || num % 17 == 0) {
sum += num;
count++;
}
num++;
}
return sum;
}
int main() {
int k;
scanf("%d", &k);
if (k >= 3000) {
printf("错误:k值超出范围,k应小于3000。\n");
} else {
long long result = sum_of_divisible_numbers(k);
printf("k以内最大的10个能被13或17整除的自然数之和是: %lld\n", result);
}
return 0;
}
相关问题
C语言编程:编写函数计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和 ,请编写函数fun(int n),计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。例如,若主函数从键盘给n输入20后,则输出为0.58。,测试输入:10 预期输出:0.41 测试输入:20 预期输出:0.58
好的,下面是 C 语言的代码实现:
```c
#include <stdio.h>
double fun(int n) {
double sum = 0;
int i;
for (i = 1; i <= n; i++) {
if (i % 5 == 0 || i % 9 == 0) {
sum += 1.0 / i;
}
}
return sum;
}
int main() {
int n;
double result;
printf("请输入 n 的值:");
scanf("%d", &n);
result = fun(n);
printf("%f\n", result);
return 0;
}
```
函数 `fun` 的作用是计算并返回 n (包括 n) 以内能被 5 或 9 整除的所有自然数的倒数之和。变量 `sum` 初始值为 0,然后在循环中判断每个自然数是否符合要求,若符合,则将其倒数加到 `sum` 中。最后返回 `sum`。
在 `main` 函数中,首先从键盘读入 `n` 的值,然后调用 `fun` 函数计算结果并将其赋值给 `result`,最后将 `result` 输出即可。
注意,本题中要求输出的是浮点数,因此需要使用 `%f` 格式符来输出。
阅读全文