帮我写一篇C语言代码内容是:有一组实验数据,需要统计数组中负数的个数和零的个数,然后将所有负数取绝对值,其他数保持不变,并输出数组中所有数值,要求用函数fun
时间: 2023-06-23 19:08:01 浏览: 88
好的,下面是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
// 统计负数和零的个数,并将负数取绝对值
void fun(int arr[], int size, int *neg_count, int *zero_count) {
int i;
for (i = 0; i < size; i++) {
if (arr[i] < 0) {
*neg_count += 1;
arr[i] = abs(arr[i]);
} else if (arr[i] == 0) {
*zero_count += 1;
}
}
}
int main() {
int arr[SIZE] = {-1, 0, 2, -3, 4, -5, 0, 6, -7, 8};
int i, neg_count = 0, zero_count = 0;
fun(arr, SIZE, &neg_count, &zero_count);
printf("负数个数:%d\n", neg_count);
printf("零的个数:%d\n", zero_count);
printf("修改后的数组:");
for (i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果:
```
负数个数:5
零的个数:2
修改后的数组:1 0 2 3 4 5 0 6 7 8
```
阅读全文