C语言 输入若干个正整数,以-1表示结束。输出这些整数中约数(包括1和自身)最多的整数及其约数个数,两者之间用一个空格隔开。数量相同,输出后输入的整数。要求子函数getCount实现计算一个正整数的约数个数。 【输入形式】 【输出形式】 【样例输入】17 5 -1 【样例输出】5 2 【样例说明】输出中5和2之间一个空格,2之后一个换行 【评分标准】
时间: 2023-12-01 22:02:44 浏览: 119
输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数 输入零时,表示输入数据结束 要求最后统计出累加的项数
5星 · 资源好评率100%
好的,这是一个简单的C语言编程问题。下面是代码实现:
```c
#include <stdio.h>
int getCount(int n);
int main() {
int num, max_num = -1, max_count = -1;
scanf("%d", &num);
while (num != -1) {
int count = getCount(num);
if (count > max_count) {
max_count = count;
max_num = num;
}
scanf("%d", &num);
}
printf("%d %d\n", max_num, max_count);
return 0;
}
int getCount(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
count++;
}
}
return count;
}
```
函数`getCount`用来计算正整数`n`的约数个数。主函数中,每次读入一个数,计算它的约数个数并更新最大值,直到读入-1为止。最后输出约数最多的整数及其约数个数。
注意,题目要求在输出中间加一个空格,最后再换行。
阅读全文