如何给利用指针数组元素输入数据
时间: 2024-03-01 19:56:15 浏览: 20
要给利用指针数组元素输入数据,可以使用循环遍历数组,然后使用指针引用运算符 `*` 来访问数组中的元素。然后,使用标准输入函数(如 `scanf()`)来为每个元素赋值。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int arr[3];
int *ptr_arr[3] = {&arr[0], &arr[1], &arr[2]};
// 给每个元素输入数据
for (int i = 0; i < 3; i++) {
printf("请输入第%d个元素的值:", i+1);
scanf("%d", ptr_arr[i]);
}
// 输出数组的值
printf("数组的值为:");
for (int i = 0; i < 3; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在上面的示例代码中,首先定义了一个 `int` 类型的数组 `arr` 和一个指针数组 `ptr_arr`,指针数组中包含指向数组 `arr` 的每个元素的指针。然后,使用循环遍历指针数组,通过指针引用运算符 `*` 访问数组中的每个元素,并使用 `scanf()` 函数为其赋值。最后,输出数组的值。
相关问题
利用指针求一组数据的均方差。 定义数组 a [10],输入数组长度 n 及 n 个数组元素,定义指针 p 指向数组 a ,利用指针 p 求这组数据的均方差,并输出,输出格式:%.2f
下面是利用指针求一组数据的均方差的代码示例:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int n, i;
double a[10], sum = 0, mean, variance, *p;
printf("请输入数组长度 n:");
scanf("%d", &n);
printf("请输入 %d 个数组元素:", n);
for(i = 0; i < n; i++)
{
scanf("%lf", &a[i]);
}
p = a; // 将指针 p 指向数组 a 的首地址
// 求和
for(i = 0; i < n; i++)
{
sum += *(p + i);
}
// 求平均数
mean = sum / n;
// 求方差
sum = 0;
for(i = 0; i < n; i++)
{
sum += pow(*(p + i) - mean, 2);
}
variance = sum / n;
// 求均方差
double standard_deviation = sqrt(variance);
printf("均方差为:%.2f\n", standard_deviation);
return 0;
}
```
运行结果示例:
```
请输入数组长度 n:5
请输入 5 个数组元素:1 2 3 4 5
均方差为:1.41
```
利用C加加语言,定一个二维数组从键盘中输入九个整形数据作为这个数组元素指针P输出这个二维数组元素的值
好的,这是一个简单的示例程序,可以实现你的需求:
```cpp
#include <iostream>
using namespace std;
int main()
{
int arr[3][3]; // 定义一个3x3的二维数组
int *p = &arr[0][0]; // 定义一个指向数组第一个元素的指针
// 从键盘中输入9个整形数据
for(int i = 0; i < 9; i++){
cin >> *(p + i);
}
// 输出二维数组元素的值
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在这个程序中,我们首先定义了一个3x3的二维数组`arr`,然后定义了一个指向数组第一个元素的指针`p`。接着,我们使用循环从键盘中输入9个整形数据,并将它们存储在数组中。最后,我们使用嵌套循环遍历整个二维数组,并输出每个元素的值。