对于上面两个题目,经过一天的学习和写下来,已经得到解决,在此谢谢lin5161678大哥的帮助。
下面是代码:
程序代码:
#include <stdio.h>
#define SIZE 10
int main(void)
{
int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; // 初始化数组
multiplyArray(array, 2); // 调用函数 把数组中的每个元素都乘以2
for (int i = 0; i < SIZE; i++) // 打印数组中的内容
printf("%d\t", array[i]);
return 0;
}
void multiplyArray(int *a, int m)
{
for (int i = 0; i < SIZE; i++)
a[i] *= m; // 这里用的是数组形式 也可以写作指针形式
} // *(a + i) *= m;
程序代码:
#include <stdio.h>
void getdata(int *a, int num); //声明输入函数
void reverse(int *a, int num); //声明逆序函数
void showdata(int *a, int num); //声明输出函数
void main()
{
int a[10]; //数组初始化
getdata(a, 10); //函数调用
reverse(a, 10); //函数调用
showdata(a, 10); //函数调用
return 0;
}
void getdata(int *a, int num)
{
for (int i = 0; i < 10; i++) //输入10个数字
scanf("%d", &a[i]);
}
void reverse(int *a, int num)
{
int b[10]; //i表示元素个数
for (int i = num - 1, j = 0; i >= 0; i--, j++) //倒序输出数组
b[i] = a[j];
for (int i = 0; i < 10; i++)
{
a[i] = b[i];
}
}
void showdata(int *a, int num)
{
for (int i = 0; i < 10; i++) //输出倒序后的数组
{
printf("%2d", a[i]);
}
}