C语言指针应用:统计数组正负数并置负数为零
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语言指针来实现数组操作,可以作为学习指针应用的参考。
原文地址: https://www.cveoy.top/t/topic/odvw 著作权归作者所有。请勿转载和采集!