从键盘输入10个整数,求出其中的最大数。要求用指针变量访问数组的元素
时间: 2023-05-31 21:18:09 浏览: 249
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
### 回答1:
可以先定义一个长度为10的整型数组,然后通过指针变量访问数组元素,依次输入10个整数,并在输入的过程中比较大小,找出最大值。
具体代码如下:
```c
#include <stdio.h>
int main() {
int arr[10];
int *p = arr;
int max = *p;
printf("请输入10个整数:\n");
for (int i = ; i < 10; i++) {
scanf("%d", p + i);
if (*(p + i) > max) {
max = *(p + i);
}
}
printf("最大值为:%d\n", max);
return ;
}
```
在上面的代码中,定义了一个长度为10的整型数组`arr`,并定义了一个指针变量`p`,指向数组的第一个元素。然后通过循环输入10个整数,并在输入的过程中比较大小,找出最大值。最后输出最大值即可。
### 回答2:
本题需要输入10个整数,然后通过指针变量访问数组元素来找出其中的最大值。
首先,我们需要声明一个包含10个元素的数组,并将其赋初值为10个整数。例如:
```
int arr[10] = {3,6,9,2,10,5,8,1,4,7};
```
接下来,我们需要定义一个指向数组的指针变量,并将其指向数组的第一个元素,也就是下标为0的元素。可以使用以下语句:
```
int *ptr = arr;
```
然后,我们可以使用指针变量ptr来访问数组元素,通过比较数组元素的大小,找出其中的最大值。可以使用以下语句:
```
int max = *ptr;
for (int i=1; i<10; i++) {
if (*(ptr+i) > max) {
max = *(ptr+i);
}
}
```
以上代码中,我们使用for循环来遍历数组元素,每次比较当前元素与上一个最大值,如果当前元素比最大值大,则更新最大值。
最后,输出最大值即可:
```
printf("数组中的最大值为:%d", max);
```
完整代码如下:
```
#include <stdio.h>
int main() {
int arr[10] = {3,6,9,2,10,5,8,1,4,7};
int *ptr = arr;
int max = *ptr;
for (int i=1; i<10; i++) {
if (*(ptr+i) > max) {
max = *(ptr+i);
}
}
printf("数组中的最大值为:%d", max);
return 0;
}
```
### 回答3:
要解决这个问题,我们可以通过以下步骤:
首先创建一个整数数组,大小为10,用于存储从键盘输入的10个整数。
然后提示用户输入10个整数,并将它们存储在数组中。
接下来,创建一个指针变量,指向数组中的第一个元素。
遍历整个数组,用指针变量逐个访问数组元素,并将最大数存储在一个变量中。
最后,输出最大数。
下面是用C语言实现的代码示例:
```
#include <stdio.h>
int main() {
int arr[10];
int *p;
int max;
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
p = arr;
max = *p;
for (int i = 1; i < 10; i++) {
if (*(p+i) > max) {
max = *(p+i);
}
}
printf("最大数为:%d\n", max);
return 0;
}
```
在这个例子中,我们首先声明一个整数数组arr,一个指针变量p,和一个变量max。然后,我们提示用户输入10个整数,并使用scanf函数将它们存储在数组中。
接下来,我们将指针变量p指向数组的第一个元素,然后使用循环遍历整个数组。在循环中,我们用指针变量p逐个访问数组元素,并比较每个元素与max的值。如果找到一个更大的数,我们就将它存储在max中。
最后,我们输出max的值,也就是数组中的最大数。
通过这个例子,我们可以看到指针变量可以方便地访问数组中的元素,并简化了数组元素的操作。因此,指针变量是C语言中非常重要的一个概念,需要掌握和熟练应用。
阅读全文