本题要求编写程序,找出给定一系列整数中的最小值。
输入格式:
输入在一行中首先给出一个正整数n
,之后是n
个整数,其间以空格分隔。
输出格式:
在一行中按照“min = 最小值
”的格式输出n
个整数中的最小值。
输入样例:
4 -2 -123 100 0
输出样例:
min = -123
代码:
# include <stdio.h>
# include <stdlib.h>
# define MAXS 1001
int main() {
int n,i = 0,j,min;
int number[MAXS];
scanf("%d",&n);
while(i < n) {
scanf("%d",&number[i]);
i += 1;
}
// 比较数组中元素的大小
min = number[0];
for (j=1;j<i;j++) {
if (min >= number[j]) {
min = number[j];
}
}
printf("min = %d",min);
return 0;
}
提交截图:
解题思路:
简单来说一下,难度主要体现在这几个地方:
- 输入的时候要求输入的正整数
n
和后面的n
个数在同一行且之间用空格隔开,于是很多人就懵逼了,其实这个scan()
输入的时候后面空格填到它默认的缓冲区中,这样并不妨碍最后输出的结果! - 这个求多个数最小值的时候,可以直接用数组来存储数据,这边就可以先给
min
随便一个初始化值,然后使用for
循环依次比较两个值的大小,找出最小值!后面涉及到数组的元素排序,有不同的排序方法,对思维能力的考察更甚!