c语言请用指针编程实现:从键盘输入10个数,求出其中的最小值。 提示:定义函数lookup(int *str,int *a,int n)查找数组str中的最小值,将数组中的每一个数跟第一个数进行比较,最后得到最小的数
时间: 2024-05-05 16:22:20 浏览: 102
下面是用指针实现的代码:
```c
#include <stdio.h>
int lookup(int *str, int n);
int main() {
int arr[10];
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
int min = lookup(arr, 10);
printf("最小值为:%d\n", min);
return 0;
}
int lookup(int *str, int n) {
int i, min = *str;
for (i = 1; i < n; i++) {
if (*(str + i) < min) {
min = *(str + i);
}
}
return min;
}
```
这里定义了一个名为lookup的函数,参数str是指向数组的指针,n表示数组的长度。函数中使用指针遍历数组,将第一个数作为初始最小值min,然后依次和数组中的其他数进行比较,最后返回最小值。在主函数中,先从键盘输入10个数,然后调用lookup函数求出最小值并输出。
相关问题
1、【编写程序】请用指针编程实现:从键盘输入10个数,求出其中的最小值。 提示:定义函数lookup(int*str,int*a,int n)查找数组str中的最小值,将数组中的 每一个数跟第一个数进行比较,最后得到最小的数。用C语言编写程序
以下是用指针编写的程序:
```c
#include <stdio.h>
int lookup(int *str, int n);
int main() {
int nums[10];
printf("请输入10个整数:\n");
for(int i=0; i<10; i++) {
scanf("%d", &nums[i]);
}
int min = lookup(nums, 10);
printf("最小值为:%d\n", min);
return 0;
}
int lookup(int *str, int n) {
int min = *str;
for(int i=1; i<n; i++) {
if(*(str+i) < min) {
min = *(str+i);
}
}
return min;
}
```
程序运行时,首先从键盘输入10个整数,然后调用`lookup()`函数查找最小值,并输出结果。在`lookup()`函数中,我们使用指针操作数组元素,比较每个元素与当前最小值,最终得到最小值。
请用指针编程实现:从键盘输入10个数,求出其中的最小值。 提示:定义函数lookup(int *str,int *a,int n)查找数组str中的最小值,将数组中的每一个数跟第一个数进行比较,最后得到最小的数。
下面是代码实现:
```c
#include <stdio.h>
int lookup(int *str, int n) {
int min = *str; // 初始化最小值为第一个数
for (int i = 1; i < n; i++) {
if (*(str+i) < min) {
min = *(str+i); // 如果找到更小的数,则更新最小值
}
}
return min;
}
int main() {
int arr[10];
printf("请输入10个数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", arr+i);
}
int min = lookup(arr, 10);
printf("最小值为:%d\n", min);
return 0;
}
```
解释一下代码:
`lookup` 函数传入一个指向数组首元素的指针 `str` 和数组长度 `n`,首先初始化最小值为第一个数 `*str`,然后遍历数组,如果找到比当前最小值更小的数,则更新最小值。最后返回最小值。在 `main` 函数中,首先定义一个长度为 10 的整型数组 `arr`,然后循环输入 10 个数,将它们存入数组中。最后调用 `lookup` 函数求出最小值,并输出结果。
阅读全文