代码如下:

#include <stdio.h>

void count(int *arr, int len, int *positive, int *negative); // 统计正数和负数个数
void setZero(int *arr, int len); // 将负数置0
void printArr(int *arr, int len); // 输出数组

int main() {
    int arr[8];
    int positive = 0, negative = 0;
    printf("请输入8个数:\n");
    for (int i = 0; i < 8; i++) {
        scanf("%d", &arr[i]);
    }
    count(arr, 8, &positive, &negative);
    printf("正数:%d\n", positive);
    printf("负数:%d\n", negative);
    setZero(arr, 8);
    printf("置0后的数组:\n");
    printArr(arr, 8);
    return 0;
}

void count(int *arr, int len, int *positive, int *negative) {
    for (int i = 0; i < len; i++) {
        if (arr[i] > 0) {
            (*positive)++;
        } else if (arr[i] < 0) {
            (*negative)++;
        }
    }
}

void setZero(int *arr, int len) {
    for (int i = 0; i < len; i++) {
        if (arr[i] < 0) {
            arr[i] = 0;
        }
    }
}

void printArr(int *arr, int len) {
    for (int i = 0; i < len; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}
``
c语言利用指针统计数组中正数、负数的个数利用指针实现如下功能:输入8个数将期中所有负数置0输出结果数组。【样例输入】4 -1 -3 5 0 8 -2 -6【样例输出】正数:3负数:4

原文地址: https://www.cveoy.top/t/topic/fnzg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录