用c语言完成求数组中大于,等于,小于0的个数
时间: 2024-02-06 07:09:15 浏览: 40
下面是使用C语言完成求数组中大于,等于,小于0的个数的代码:
```c
#include <stdio.h>
int main()
{
int arr[10] = {-2, 3, 0, -4, 1, 5, -7, 8, -9, 6};
int i, positive = 0, negative = 0, zero = 0;
for(i = 0; i < 10; i++)
{
if(arr[i] > 0)
positive++;
else if(arr[i] < 0)
negative++;
else
zero++;
}
printf("Positive numbers: %d\n", positive);
printf("Negative numbers: %d\n", negative);
printf("Zero numbers: %d\n", zero);
return 0;
}
```
这段代码中,我们定义了一个包含10个元素的整型数组arr,并初始化了数组中的元素。然后,我们使用for循环遍历整个数组,分别检查每个元素的值,如果它是大于0,则positive计数器加1,如果它是小于0,则negative计数器加1,如果它是等于0,则zero计数器加1。最后,我们输出计数器的值,以显示数组中大于,等于和小于0的元素的个数。
相关问题
求数组中大于 等于 小于零的个数 c语言回答
### 回答1:
可以使用循环遍历数组,使用三个计数器分别记录大于、等于和小于零的元素个数,代码示例如下:
```c
#include <stdio.h>
int main() {
int arr[] = {-2, -1, 0, 1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(int); // 数组长度
int cnt_less = 0, cnt_equal = 0, cnt_more = 0; // 计数器
// 遍历数组
for (int i = 0; i < n; i++) {
if (arr[i] < 0) {
cnt_less++;
} else if (arr[i] == 0) {
cnt_equal++;
} else {
cnt_more++;
}
}
printf("小于零的元素个数:%d\n", cnt_less);
printf("等于零的元素个数:%d\n", cnt_equal);
printf("大于零的元素个数:%d\n", cnt_more);
return 0;
}
```
输出结果为:
```
小于零的元素个数:2
等于零的元素个数:1
大于零的元素个数:5
```
### 回答2:
要求使用C语言编写,计算数组中大于、等于、小于零的个数,可以使用以下代码:
```c
#include <stdio.h>
void countNumbers(int array[], int size) {
int greaterThanZero = 0; // 大于零的个数
int equalToZero = 0; // 等于零的个数
int lessThanZero = 0; // 小于零的个数
for (int i = 0; i < size; i++) {
if (array[i] > 0) {
greaterThanZero++;
} else if (array[i] == 0) {
equalToZero++;
} else {
lessThanZero++;
}
}
printf("大于零的个数:%d\n", greaterThanZero);
printf("等于零的个数:%d\n", equalToZero);
printf("小于零的个数:%d\n", lessThanZero);
}
int main() {
int array[] = {-2, 0, 3, -1, 5, 0, -4, 2};
int size = sizeof(array) / sizeof(array[0]); // 数组的长度
countNumbers(array, size);
return 0;
}
```
以上代码定义了一个名为`countNumbers`的函数,该函数接受一个整型数组和数组的长度作为参数。在函数的内部,使用循环遍历数组,根据元素的大小进行计数。在`main`函数中,定义了一个含有8个元素的整型数组,并计算了数组的长度。然后调用`countNumbers`函数并传入数组和长度作为参数。最终,打印出大于、等于和小于零的个数。
### 回答3:
要统计数组中大于、等于和小于零的个数,可以使用C语言编写一个函数来实现。下面是一个简单的实现示例:
```c
#include <stdio.h>
void countElements(int arr[], int size)
{
int countPositive = 0; // 大于零的个数
int countZero = 0; // 等于零的个数
int countNegative = 0; // 小于零的个数
for (int i = 0; i < size; i++)
{
if (arr[i] > 0)
countPositive++;
else if (arr[i] == 0)
countZero++;
else
countNegative++;
}
printf("大于零的个数:%d\n", countPositive);
printf("等于零的个数:%d\n", countZero);
printf("小于零的个数:%d\n", countNegative);
}
int main()
{
int arr[] = {-2, 0, 3, -6, 1, 0};
int size = sizeof(arr) / sizeof(arr[0]);
countElements(arr, size);
return 0;
}
```
运行以上代码会输出:
```
大于零的个数:2
等于零的个数:2
小于零的个数:2
```
以上代码使用了一个`countElements`函数来接收数组和数组的大小作为参数,并通过循环遍历数组中的元素,逐个判断它们的值是大于、等于还是小于零,然后相应地增加各个计数器的值。最后,在`main`函数中调用`countElements`函数,并输出各个计数器的值。
用c语言编写函数,该函数的功能是,将所有大于1小于整数m的非素数存入xx数组中, 非素数的个数通过k传回。整数m的值由主函数输入。
以下是用C语言编写函数的代码,实现将所有大于1小于整数m的非素数存入xx数组中, 非素数的个数通过k传回:
```c
#include <stdio.h>
int is_prime(int n) { // 判断一个数是否为素数
if (n <= 1) return 0;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return 0;
}
return 1;
}
void find_non_primes(int m, int xx[], int *k) { // 找出所有非素数
int cnt = 0;
for (int i = 2; i < m; i++) {
if (!is_prime(i)) { // 如果不是素数
xx[cnt++] = i; // 存入数组中
}
}
*k = cnt; // 将非素数的个数传回
}
int main() {
int m;
printf("请输入整数m:");
scanf("%d", &m);
int xx[m - 2], k; // 定义数组和非素数个数
find_non_primes(m, xx, &k); // 调用函数
printf("大于1小于%d的非素数有:", m);
for (int i = 0; i < k; i++) {
printf("%d ", xx[i]);
}
printf("\n共%d个非素数", k);
return 0;
}
```
在主函数中,先输入待处理的整数m,定义数组xx和非素数个数k,然后调用函数find_non_primes(m, xx, &k)来找出所有非素数。函数内部通过调用is_prime函数判断一个数是否为素数,如果不是素数则存入数组中,并且通过指针将非素数的个数传回。最后在主函数中输出结果。