1.编写程序,定义一个可容纳12个整型数据的数组和一个指向整型的指针,用循环语句从键盘获取12个随机整型数据逐个给数组的每个元素赋值,然后用循环语句将数组的12个元素逐个输出,按照每行4个元素整齐输出,要求两个循环语句均需要用指针作为循环变量(提示,将数组的首地址赋值给事先定义的指针变量)。用c语言编写
时间: 2024-03-26 13:40:51 浏览: 18
以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int arr[12];
int *p = arr; // 将数组首地址赋值给指针变量
srand(time(NULL)); // 设置随机数种子
// 用循环语句从键盘获取12个随机整型数据逐个给数组的每个元素赋值
for (int i = 0; i < 12; i++) {
*(p + i) = rand() % 100;
}
// 用循环语句将数组的12个元素逐个输出,按照每行4个元素整齐输出
for (int i = 0; i < 12; i++) {
printf("%d\t", *(p + i)); // 输出当前元素
if ((i + 1) % 4 == 0) { // 每输出4个元素换行
printf("\n");
}
}
return 0;
}
```
运行结果:
```
91 42 59 14
6 48 28 2
36 95 91 22
```
相关问题
编写程序,定义一个可容纳12个整型数据的数组和一个指向整型的指针,用循环语句从键盘获取12个随机整型数据逐个给数组的每个元素赋值,然后用循环语句将数组的12个元素逐个输出,按照每行4个元素整齐输出,要求两个循环语句均需要用指针作为循环变量(提示,将数组的首地址赋值给事先定义的指针变量)
以下是C++语言的代码实现:
```cpp
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int arr[12];
int *ptr = arr; // 将数组的首地址赋值给指针变量
// 从键盘获取12个随机整型数据逐个给数组的每个元素赋值
for (int i = 0; i < 12; i++)
{
cout << "请输入第" << i+1 << "个整数:";
cin >> *(ptr+i);
}
// 将数组的12个元素逐个输出,按照每行4个元素整齐输出
cout << "数组的元素为:" << endl;
for (int i = 0; i < 12; i++)
{
cout << *(ptr+i) << "\t";
if ((i+1)%4 == 0)
{
cout << endl;
}
}
return 0;
}
```
运行结果示例:
```
请输入第1个整数:1
请输入第2个整数:2
请输入第3个整数:3
请输入第4个整数:4
请输入第5个整数:5
请输入第6个整数:6
请输入第7个整数:7
请输入第8个整数:8
请输入第9个整数:9
请输入第10个整数:10
请输入第11个整数:11
请输入第12个整数:12
数组的元素为:
1 2 3 4
5 6 7 8
9 10 11 12
```
语句 int *p[5]; 定义了一个指针数组 p ,用于指向一个有5个元素的数组。
int *p[5]定义了一个指针数组p,其中p有5个成员,每个成员都是一个指针。这意味着p可以指向一个有5个元素的数组。可以将p看作一个指针的数组,每个指针指向一个整型值。
示例代码如下:
```c
int arr[5] = {1, 2, 3, 4, 5};
int *p[5];
p[0] = &arr[0]; // p的第一个成员指向arr的第一个元素
p[1] = &arr[1]; // p的第二个成员指向arr的第二个元素
// 依此类推,可以将p的其他成员指向arr的其他元素
// 输出p指向的元素值
for (int i = 0; i < 5; i++) {
printf("%d ", *p[i]);
}
```
这段代码定义了一个整型数组arr,并定义了一个指针数组p。然后,将p的每个成员指向arr的对应元素。最后,通过循环遍历p,输出p指向的元素值。