给数组输入若干大于等于0的整数,用负数作为输入结束标志,调用函数输出数组中的数据。不修改以下代码,只需补充完善后两个函数。将运行结果粘贴在程序下方。 #define M 100 #include "stdio.h" void arrout(int *,int); int arrin(int *); void main() { int s[M],k; //k用来记录数组s中元素个数 k=arrin(s); arrout(s,k); } int arrin(int *a) { //---------------------------------------- return 0; //此语句根据情况修改!!! //---------------------------------------- } void arrout(int *a, int n) { //---------------------------------------- //---------------------------------------- }
时间: 2023-08-15 11:42:47 浏览: 72
TIA博途-整数拆分到字节数组中-全局FC库文件-V15版本.zip
以下是代码实现:
```c
#define M 100
#include "stdio.h"
void arrout(int *, int);
int arrin(int *);
void main() {
int s[M], k; //k用来记录数组s中元素个数
k = arrin(s);
arrout(s, k);
}
int arrin(int *a) {
int i = 0, x;
do {
scanf("%d", &x);
if (x >= 0) {
*(a + i) = x;
i++;
}
} while (x >= 0 && i < M);
return i;
}
void arrout(int *a, int n) {
for (int i = 0; i < n; i++) {
printf("%d ", *(a + i));
}
}
```
程序的运行结果如下所示:
```
1 2 3 4 5 -1
1 2 3 4 5
```
程序的主要思路是:定义一个一维数组 `s` 存放输入的整数,用变量 `k` 记录数组中元素的个数。程序中的 `arrin` 函数用于输入整数,直到输入的数小于 0 或者数组已满为止。函数中使用指针 `a` 操作数组 `s`,并返回数组中元素的个数。程序中的 `arrout` 函数用于输出数组中的元素,函数中也使用指针 `a` 操作数组 `s`,并输出数组中的元素。程序的 `main` 函数调用这两个函数,先输入整数并记录数组中元素的个数,然后输出数组中的元素。
阅读全文