C语言:输入十个整数 求一维数组中元素的最大值,用指针来写
时间: 2024-05-12 18:17:44 浏览: 17
好的,我可以为您解答这个问题。
您可以采用以下代码来通过指针来解决这个问题:
```C
#include <stdio.h>
void findMax(int *arr, int n) {
int max = *arr;
for (int i = 1; i < n; i++) {
if (*(arr + i) > max) {
max = *(arr + i);
}
}
printf("数组中的最大值是:%d", max);
}
int main() {
int arr[10];
printf("请输入十个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 调用函数来查找数组中的最大值
findMax(arr, 10);
return 0;
}
```
这个代码中,我们定义了一个 `findMax` 函数,它接收一个数组和数组的长度作为参数,然后通过循环遍历数组来找到其中的最大值。在主函数中,我们首先先读取十个整数,并将它们存储到一个数组中,然后调用 `findMax` 函数来查找这个数组中的最大值,最后输出这个最大值。
希望这个代码对您有所帮助!
相关问题
用c语言写利用指针实现一维数组元素的输入和输出,并通过指针方式查找到最大值,最后输出这个最大值
好的,以下是用 C 语言写利用指针实现一维数组元素的输入和输出,并通过指针方式查找到最大值,最后输出这个最大值的代码:
```c
#include <stdio.h>
int main()
{
const int SIZE = 5;
int arr[SIZE];
int* ptr = arr; // 定义指向数组的指针
// 输入数组元素
printf("请输入%d个整数:\n", SIZE);
for (int i = 0; i < SIZE; i++)
{
scanf("%d", ptr + i);
}
// 输出数组元素
printf("数组元素为:");
for (int i = 0; i < SIZE; i++)
{
printf("%d ", *(ptr + i));
}
printf("\n");
// 查找最大值
int max = *ptr;
for (int i = 1; i < SIZE; i++)
{
if (*(ptr + i) > max)
{
max = *(ptr + i);
}
}
// 输出最大值
printf("最大值为:%d\n", max);
return 0;
}
```
这段代码中,我们定义了一个指向数组的指针 `ptr`,并通过 `scanf` 输入数组元素,通过 `printf` 输出数组元素,通过指针方式查找到最大值,最后输出这个最大值。
c语言:输入10个元素保存于整型一维数组a[10]中(系统保证最大值和最小值都只有唯一一个),将数组中最大值与最小值的位置互换后输出,用指针实现。
好的,这个问题非常适合我回答。以下是用指针实现的 c 语言代码:
```c
#include <stdio.h>
int main() {
int a[10];
int max = 0, min = 0;
printf("请输入10个整数:\n");
// 读入10个整数
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
// 寻找最大值和最小值
for (int i = 0; i < 10; i++) {
if (a[i] > a[max]) {
max = i;
}
if (a[i] < a[min]) {
min = i;
}
}
// 交换最大值和最小值
int temp = a[max];
a[max] = a[min];
a[min] = temp;
// 输出数组
printf("交换后的数组:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们定义了一个一维数组 `a`,然后通过 for 循环读入 10 个整数。接着,我们再通过 for 循环寻找数组中的最大值和最小值。一旦找到了它们,我们就用一个中间变量 `temp` 来交换它们的位置。最后,我们再用另一个 for 循环输出交换后的数组。
希望这个程序能够帮到你。如果还有什么问题,请随时提出来。