输入n个整数,找出其中的最大值,并统计输出其中最大值出现的次数 C语言编程
时间: 2024-03-09 17:47:31 浏览: 59
好的,这是一个比较简单的问题,可以通过遍历数组来解决。以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int n, max = 0, count = 0;
printf("请输入数组的大小:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
if (i == 0 || arr[i] > max) { // 记录最大值
max = arr[i];
count = 1; // 重置计数器
} else if (arr[i] == max) { // 最大值出现次数加1
count++;
}
}
printf("最大值为:%d,出现次数为:%d\n", max, count);
return 0;
}
```
首先,我们要求出数组中的最大值,可以把数组的第一个元素设为最大值,然后遍历整个数组,如果当前元素大于最大值,则更新最大值。同时,我们可以用一个计数器记录最大值出现的次数,如果当前元素等于最大值,则计数器加1。最后输出最大值和出现次数即可。
相关问题
c语言从键盘输入n个整数,找出其中最大值和最小值并输出
好的,可以使用以下程序实现:
```c
#include <stdio.h>
int main()
{
int n, i, num, max, min;
printf("请输入整数个数:");
scanf("%d", &n);
printf("请输入这%d个整数:\n", n);
scanf("%d", &num);
max = num; // 初始化最大值和最小值
min = num;
for(i = 1; i < n; i++)
{
scanf("%d", &num);
if(num > max) // 如果输入的数比当前的最大值还大,更新最大值
max = num;
if(num < min) // 如果输入的数比当前的最小值还小,更新最小值
min = num;
}
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
程序逻辑如下:
1. 首先从键盘输入整数个数n。
2. 然后依次从键盘输入n个整数,第一个整数单独输入,用于初始化最大值和最小值。
3. 接着使用for循环输入剩余的n-1个整数,每输入一个数就与当前的最大值和最小值比较,如果大于最大值则更新最大值,如果小于最小值则更新最小值。
4. 最后输出最大值和最小值。
用C语言从键盘输入n个整数,找出其中的最大值和最小值,并输出。
好的,让我来回答你的问题。下面是用C语言实现从键盘输入n个整数,找出其中的最大值和最小值,并输出的代码:
```c
#include <stdio.h>
int main()
{
int n, i, num;
int max, min;
printf("请输入数字的个数: ");
scanf("%d", &n);
printf("请输入%d个数字: ", n);
scanf("%d", &num);
max = num;
min = num;
for (i = 1; i < n; i++)
{
scanf("%d", &num);
if (num > max) max = num;
if (num < min) min = num;
}
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
你可以把上面的代码复制到你的编辑器里,然后编译运行,输入数字的个数和具体数字,程序会自动计算出其中的最大值和最小值,然后输出。
希望这个回答能够帮助你,如果你还有其他问题,可以继续问我。