本题要求编写程序,找出给定一系列整数中的最小值。
输入格式:
输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。
输出格式:
在一行中按照“min = 最小值”的格式输出n个整数中的最小值。
输入样例:
4 -2 -123 100 0
输出样例:
min = -123
注:4.8修改代码,优化了内存占用,将原来的静态内存修改为动态内存。
//找出最小值
int main()
{
int arr[9999] = { 0 };
int n = 9999;
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
if (i == arr[0] - 1)
{
break;
}
}
int min = arr[1];
for (int j = 1; j <= arr[0]; j++)
{
if (min > arr[j])
{
min = arr[j];
}
}
printf("min = %d", min);
return 0;
}
新代码如下:
int main()
{
int n = 0,i,j;
scanf("%d", &n);
int* arr = (int*)malloc(n * 4);
//这里应该先判断内存是否申请成功,但是我懒
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
int min = arr[0];
for (j = 0; j <n; j++)
{
if (min > arr[j])
{
min = arr[j];
}
}
printf("min = %d", min);
free(arr);//记得释放
return 0;
}