用c语言写出这个程序 先键入n 再键入n个正整数 输出这n个正整数中最小值出现的次数
时间: 2023-12-06 17:39:51 浏览: 31
```c
#include <stdio.h>
int main() {
int n, i, min, count = 0;
scanf("%d", &n);
scanf("%d", &min);
for(i = 2; i <= n; i++) {
int x;
scanf("%d", &x);
if(x < min) {
min = x;
count = 1;
} else if(x == min) {
count++;
}
}
printf("%d", count);
return 0;
}
```
解释:
1. 定义变量 `n` 表示输入的正整数个数,变量 `i` 用于循环计数,变量 `min` 表示当前最小值,变量 `count` 表示最小值出现的次数。
2. 通过 `scanf` 函数读入 `n`。
3. 通过 `scanf` 函数读入第一个正整数,并将其赋值给 `min`。
4. 循环从第二个正整数开始读入,每次读入一个正整数 `x`。
5. 如果 `x` 小于当前最小值 `min`,则将 `x` 赋值给 `min`,并将 `count` 置为 1。
6. 如果 `x` 等于当前最小值 `min`,则将 `count` 加 1。
7. 循环结束后,输出最小值出现的次数 `count`。
8. 返回 0 表示程序正常结束。
相关问题
c语言代码输入一个正整数n,再输入n个整数,输出最小值
以下是使用C语言编写的输入n个整数并输出最小值的代码:
```c
#include <stdio.h>
int main() {
int n, i, min, num;
printf("请输入整数个数n:");
scanf("%d", &n);
printf("请输入%d个整数:", n);
scanf("%d", &num);
min = num;
for (i = 1; i < n; i++) {
scanf("%d", &num);
if (num < min) {
min = num;
}
}
printf("最小值为:%d\n", min);
return 0;
}
```
代码解析:
1. 首先通过`scanf`函数输入整数个数n;
2. 接着通过`scanf`函数循环输入n个整数,并用一个变量`min`存储当前最小值;
3. 在循环中,如果输入的数比当前最小值小,就更新最小值;
4. 循环结束后,输出最小值。
注意:本代码中假设输入的数都是正整数,如果要兼容负整数,需要将`min`的初值设为INT_MAX。
输入一个正整数n,再输入n个整数,输出最小值。用c语言的while循环写
好的,关于您的第一个问题,以下是用 C 语言中的 while 循环编写的代码:
```c
#include <stdio.h>
int main() {
int n, i, num, smallest;
printf("请输入数字的数量:");
scanf("%d", &n);
printf("请输入这 %d 个数字:\n", n);
i = 0;
while (i < n) {
scanf("%d", &num);
if (i == 0) {
smallest = num;
} else {
if (num < smallest) {
smallest = num;
}
}
i++;
}
printf("最小值是:%d", smallest);
return 0;
}
```
希望对您有所帮助。