利用指针从键盘上输入 n 个数并找出其中的最大数。
时间: 2023-12-10 19:41:51 浏览: 28
下面是一个 C++ 的实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入数字的个数: ";
cin >> n;
int *arr = new int[n]; // 动态分配数组
cout << "请输入" << n << "个数字: ";
for (int i = 0; i < n; i++) {
cin >> *(arr + i); // 使用指针输入数组元素
}
int max = *arr; // 初始化最大值为数组的第一个元素
for (int i = 1; i < n; i++) {
if (*(arr + i) > max) { // 使用指针比较数组元素
max = *(arr + i);
}
}
cout << "最大值为: " << max << endl;
delete[] arr; // 释放动态分配的数组
return 0;
}
```
首先输入数字的个数 n,然后动态分配一个大小为 n 的整型数组。接着使用指针输入 n 个数字,使用指针遍历数组并比较元素大小,最后输出最大值。最后别忘了释放动态分配的数组。
相关问题
利用指针从键盘上输入 n 个数并找出其中的最大数
可以使用动态内存分配来实现从键盘上输入 n 个数,然后使用指针进行遍历并找出其中的最大值。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, *arr, max;
printf("请输入 n:");
scanf("%d", &n);
// 动态分配内存
arr = (int*)malloc(n * sizeof(int));
// 输入 n 个数
printf("请输入 %d 个数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 找出最大值
max = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
printf("最大值为:%d\n", max);
// 释放内存
free(arr);
return 0;
}
```
在这个示例代码中,我们首先使用 `malloc` 函数动态分配了 `n` 个 `int` 类型的空间,然后使用 `scanf` 函数从键盘上读入这 `n` 个数,并将它们存储到动态分配的内存中。接着,我们使用指针遍历这些数,并找出其中的最大值。最后,我们使用 `free` 函数释放了动态分配的内存。
c语言利用指针从键盘上输入 n 个数并找出其中的最大数。
好的,下面是用指针从键盘上输入 n 个数并找出其中的最大数的 C 语言代码:
```c
#include <stdio.h>
int main()
{
int n;
printf("请输入需要比较的数字个数:");
scanf("%d", &n);
int max = 0;
int num;
printf("请输入%d个数字:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &num);
if (num > max) {
max = num;
}
}
printf("最大数为:%d\n", max);
return 0;
}
```
在这段代码中,我们首先从键盘上输入需要比较的数字个数 `n`,然后通过 `for` 循环逐个输入数字,并通过比较找出最大的数字。值得注意的是,我们在输入数字时使用了 `&num`,将 `num` 变量的地址传递给 `scanf` 函数,从而实现了通过指针修改变量的值。