编写程序读取正整数,找出它们的最大数,然后计算该最大数出现的次数。输入以-1结束,C语言
时间: 2023-06-13 13:06:05 浏览: 292
下面是一个示例代码,它可以读取正整数,找到最大数,并计算最大数出现的次数。当输入为-1时,程序会停止。
```C
#include <stdio.h>
int main() {
int max = -1;
int count = 0;
int num;
printf("请输入正整数:");
scanf("%d", &num);
while (num != -1) {
if (num > max) {
max = num;
count = 1;
} else if (num == max) {
count++;
}
printf("请输入正整数:");
scanf("%d", &num);
}
printf("最大数为 %d,出现了 %d 次。\n", max, count);
return 0;
}
```
运行程序后,它会提示用户输入正整数。如果输入的数大于当前最大数,就把它作为新的最大数,并将出现次数重置为1。如果输入的数等于当前最大数,就将出现次数加1。当输入-1时,程序会停止,并输出最大数和出现次数。
相关问题
c语言编写程序读取正整数,找出它们的最大数,然后计算该最大数出现的次数。输入以-1结束
下面是一份 C 语言代码,实现了读取正整数,找出最大数并计算出现次数的功能:
```c
#include <stdio.h>
int main() {
int n, max = 0, count = 0;
printf("请输入一系列正整数,以-1结束:\n");
while (1) {
scanf("%d", &n);
if (n == -1) break;
if (n > max) {
max = n;
count = 1;
} else if (n == max) {
count++;
}
}
printf("最大数为:%d,出现次数为:%d\n", max, count);
return 0;
}
```
该程序使用了一个 `while` 循环,不断读取用户输入的正整数,直到输入了 -1 才停止循环。在循环中,如果读取的数大于当前最大值,则更新最大值,并将出现次数重置为 1。如果读取的数等于当前最大值,则将出现次数加 1。最后输出最大数和出现次数即可。
c语言编写程序读取正整数,找出它们的最大数,然后计算该最大数出现的次数。输入以-1结束。
在C语言中,你可以通过创建一个变量存储当前的最大数,然后遍历输入的每一个正整数,如果新输入的数比当前最大数大,则更新最大数。同时,你还需要一个计数器来记录最大数出现的次数。当遇到-1停止输入时,输出结果即可。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <limits.h> // 包含INT_MAX来处理较大的数值
int main() {
int input, current_max = INT_MIN, max_count = 0; // 初始化最大值为负无穷
scanf("%d", &input);
while (input != -1 && input >= 0) {
if (input > current_max) {
current_max = input;
max_count = 1; // 如果输入的新数大于当前最大,重置计数器
} else if (input == current_max) {
max_count++; // 如果输入等于最大数,计数加一
}
scanf("%d", &input);
}
printf("最大数 %d 出现了 %d 次。\n", current_max, max_count);
return 0;
}
```
在这个程序中,`scanf`用于读取用户输入的数字,如果输入的是-1或非正数,`while`循环就会终止。
阅读全文