用C语言编程 程序功能:输入一个正整数 n 和 n 个正整数,分别求 n 个整数之和与 7 的倍数的奇数平均值(输出结果保留两位小数)。
时间: 2024-02-25 22:54:11 浏览: 30
好的,我来为你解答这个问题。以下是程序的代码:
```c
#include <stdio.h>
int main() {
int n, num, sum = 0, count = 0;
float avg = 0.0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &num);
sum += num;
if (num % 7 == 0 && num % 2 == 1) {
avg += num;
count++;
}
}
avg = count == 0 ? 0 : avg / count;
printf("Sum of %d integers: %d\n", n, sum);
printf("Average of odd multiples of 7: %.2f\n", avg);
return 0;
}
```
程序通过循环输入 n 个正整数,并累加求和。同时,如果输入的数是 7 的倍数且为奇数,则累加求平均值。最后输出两个结果。需要注意的是,如果没有符合条件的数,则平均值为 0。
希望能够帮助到你!
相关问题
用C语言编程:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
输入两个正整数 m 和 n,求其最大公约数和最小公倍数的C语言代码如下:
```
#include <stdio.h>
int main() {
int m, n, max, min, b, c;
printf("请输入两个整数:\n");
scanf("%d%d", &m, &n);
c = m % n;
b = m * n;
while (c != 0) {
m = n;
n = c;
c = m % n;
}
max = n;
min = b / max;
printf("\n最大公约数为:%d\n最小公倍数为:%d\n", max, min);
return 0;
}
```
解释如下:
1. 首先,我们需要输入两个正整数m和n。
2. 然后,我们用辗转相除法求出它们的最大公约数。
3. 最后,我们用两数之积除以最大公约数即可求出它们的最小公倍数。
C语言编程实现:输入两个正整数m和n,求其最大公约数和最小公倍数。
以下是两种C语言编程实现输入两个正整数m和n,求其最大公约数和最小公倍数的例子:
引用:
```c
#include <stdio.h>
int main() {
int x, y, a, b, temp, r = 0, min = 0;
printf("请输入两个整数:\n");
scanf("%d%d", &x, &y);
if (x < y) { //交换大小顺序,大数对小数取余
temp = x;
x = y;
y = temp;
}
a = x;
b = y;
r = a % b;
while (r != 0) { //辗转相除求最大公因数,b即为最后的最大公因数
a = b;
b = r;
r = a % b;
}
min = (x * y) / b; //最小公倍数
printf("最大公因数:%d\n最小公倍数:%d\n", b, min);
return 0;
}
```
引用:
```c
#include <stdio.h>
int main() {
int a, b, i, j;
int max = 0;
printf("请输入两个整数:\n");
scanf("%d%d", &a, &b);
for (i = a;;i++) {
if (i % a == 0 && i % b == 0) { //求最小公倍数
break;
}
}
for (j = b;;j--) {
if (a % j == 0 && b % j == 0) { //求最大公约数
break;
}
}
printf("最大公约数:%d\n最小公倍数:%d\n", j, i);
return 0;
}
```