用c语言统计一组整数中正数负数0的个数
时间: 2024-05-06 11:15:20 浏览: 73
可以使用一个循环来遍历整个数组,同时使用计数器变量来记录正数、负数和0的个数。具体实现如下:
```c
#include <stdio.h>
int main() {
int nums[] = {-1, 0, 2, 3, 0, -4, -5};
int n = sizeof(nums) / sizeof(nums[0]); // 数组长度
int positives = 0, negatives = 0, zeros = 0; // 计数器变量
for (int i = 0; i < n; i++) {
if (nums[i] > 0) {
positives++;
} else if (nums[i] < 0) {
negatives++;
} else {
zeros++;
}
}
printf("正数个数:%d\n", positives);
printf("负数个数:%d\n", negatives);
printf("0的个数:%d\n", zeros);
return 0;
}
```
输出结果为:
```
正数个数:2
负数个数:2
0的个数:2
```
相关问题
c语言输入一组整数统计其中正数负数和零的个数
好的,您可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int num, positive_num = 0, negative_num = 0, zero_num = 0;
printf("请输入整数序列,以 0 结束:\n");
while (1) {
scanf("%d", &num);
if (num == 0) {
break;
}
if (num > 0) {
positive_num++;
} else if (num < 0) {
negative_num++;
} else {
zero_num++;
}
}
printf("正数个数:%d,负数个数:%d,零的个数:%d\n", positive_num, negative_num, zero_num);
return 0;
}
```
这段代码会让用户输入一组整数,以 0 结束。然后,它会遍历整个序列并统计其中的正数、负数和零的个数。最后,它会输出统计结果。
设文件number.dat中存放了一组整数,请用c语言编程统计出文件中正数,0和负数的个数。使用fscanf和fprintf
#include <stdio.h>
int main() {
FILE *fp;
int num, count_pos = 0, count_zero = 0, count_neg = 0;
fp = fopen("number.dat", "r"); // 打开文件
if (fp == NULL) { // 如果打开失败
printf("Error: file not found.\n");
return 0;
}
while (fscanf(fp, "%d", &num) != EOF) { // 读取整数,直到文件结束
if (num > 0) {
count_pos++; // 统计正数个数
} else if (num == 0) {
count_zero++; // 统计0个数
} else {
count_neg++; // 统计负数个数
}
}
fclose(fp); // 关闭文件
// 输出结果
printf("Positive numbers: %d\n", count_pos);
printf("Zero numbers: %d\n", count_zero);
printf("Negative numbers: %d\n", count_neg);
fp = fopen("result.dat", "w"); // 打开结果文件
if (fp == NULL) { // 如果打开失败
printf("Error: cannot create result file.\n");
return 0;
}
// 将结果写入文件
fprintf(fp, "Positive numbers: %d\n", count_pos);
fprintf(fp, "Zero numbers: %d\n", count_zero);
fprintf(fp, "Negative numbers: %d\n", count_neg);
fclose(fp); // 关闭文件
return 0;
}
阅读全文