c语言利用指针统计数组中正数、负数的个数利用指针实现如下功能:输入8个数将期中所有负数置0输出结果数组。【样例输入】4 -1 -3 5 0 8 -2 -6【样例输出】正数:3负数:4
代码如下:
#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");
}
``
原文地址: https://www.cveoy.top/t/topic/fnzg 著作权归作者所有。请勿转载和采集!