C语言指针应用:统计数组正负数并置负数为零

本示例演示如何使用C语言指针实现统计数组中正数、负数个数,并将负数置为零的功能。

代码如下:

#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');
}

功能说明:

  • count函数:统计数组中正数和负数的个数,并通过指针传递给main函数。
  • setZero函数:将数组中所有负数置为0。
  • printArr函数:打印数组内容。

示例:

样例输入:

4 -1 -3 5 0 8 -2 -6

样例输出:

正数:3 负数:4 置0后的数组: 4 0 0 5 0 8 0 0

代码解释:

  • 代码使用指针来操作数组,提高了代码的效率和灵活性。
  • 通过指针传递参数,可以方便地修改函数外部的变量。
  • 代码结构清晰,易于理解和维护。

总结:

本示例演示了如何使用C语言指针来实现数组操作,可以作为学习指针应用的参考。

C语言指针应用:统计数组正负数并置负数为零

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

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