编写程序,输入n个整数存入一维数组,统计输出其中的正数、负数和零的个数。
时间: 2023-05-31 22:18:14 浏览: 372
### 回答1:
可以使用一个循环来遍历数组中的每一个元素,然后判断它是正数、负数还是零,最后分别累加计数器即可。具体实现可以参考以下代码:
```
#include <stdio.h>
int main() {
int n, i, num, positive = 0, negative = 0, zero = 0;
printf("请输入整数个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &num);
arr[i] = num;
if (num > 0) {
positive++;
} else if (num < 0) {
negative++;
} else {
zero++;
}
}
printf("正数个数:%d\n", positive);
printf("负数个数:%d\n", negative);
printf("零的个数:%d\n", zero);
return 0;
}
```
在这个程序中,我们首先输入整数的个数n,然后定义一个长度为n的一维数组arr。接着使用for循环遍历数组中的每一个元素,将其存入数组中,并根据其值判断是正数、负数还是零,最后分别累加计数器positive、negative和zero。最后输出三种数值的个数即可。
### 回答2:
本题需要编写一个程序,可以输入n个整数并将这些数存放到一维数组中,然后统计出这些数中正数、负数和零的个数,并将结果输出。下面是一个基于C语言的简单实现:
```
#include <stdio.h>
int main() {
int n, num, i;
int pos = 0, neg = 0, zero = 0;
printf("请输入要输入的整数个数n:");
scanf("%d", &n);
int arr[n]; // 定义数组
for (i = 0; i < n; i++) {
printf("请输入第%d个整数:", i+1);
scanf("%d", &num);
arr[i] = num; // 将输入的数存入数组
if (num > 0) {
pos++;
} else if (num < 0) {
neg++;
} else {
zero++;
}
}
printf("正数个数:%d\n", pos);
printf("负数个数:%d\n", neg);
printf("零的个数:%d\n", zero);
return 0;
}
```
程序首先提示用户输入要输入的整数个数n,然后定义一个数组arr来存储这些整数。接着用for循环输入n个整数并将它们存入数组中。同时利用if-else分支结构对每个输入的数进行判断,统计出其中的正数、负数和零的个数。最后输出统计结果即可。
需要注意的是,在输入n个整数之前需要先定义一个整型数组arr,其大小为n。另外,程序还可以进行一些优化,例如可以先判断输入的数是否为0,然后再判断其正负性,避免出现重复判断的情况。
### 回答3:
题目要求编写一个程序,输入n个整数存入一维数组,统计并输出其中的正数、负数和零的个数。要实现这个程序,需要采用如下步骤:
1. 首先,定义一个数组,并从用户那里获取数组的长度n。在C语言中,可以使用静态数组或者动态数组的方式声明一个数组变量。
2. 利用循环语句、scanf和printf函数读取数组元素和输出结果。通过循环变量i的变化遍历数组,并使用逻辑判断语句if来统计数组中的正、负、零元素个数。
3. 在程序的末尾,输出结果,包括输入的整数序列以及统计的正数、负数和零的个数。
下面是一个C语言实现的示例程序:
```
#include <stdio.h>
int main() {
int n, i, positive = 0, negative = 0, zero = 0;
printf("请输入整数序列的长度n:");
scanf("%d", &n);
int nums[n];
for (i = 0; i < n; i++) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &nums[i]);
if (nums[i] > 0) {
positive++;
} else if (nums[i] < 0) {
negative++;
} else {
zero++;
}
}
printf("输入的整数序列为:");
for (i = 0; i < n; i++) {
printf("%d ", nums[i]);
}
printf("\n");
printf("其中,正数个数为%d,负数个数为%d,零的个数为%d\n", positive, negative, zero);
return 0;
}
```
以上程序中,首先从用户那里获取整数序列的长度n,然后定义一个长度为n的整型数组nums。接着,使用循环语句读取数组元素,同时在每次读取时利用if语句进行正数、负数、零元素的判断和个数的统计。最后,输出整数序列以及统计的结果。运行程序后,可以得到以下样例输出:
```
请输入整数序列的长度n:5
请输入第1个整数:-1
请输入第2个整数:0
请输入第3个整数:3
请输入第4个整数:-5
请输入第5个整数:2
输入的整数序列为:-1 0 3 -5 2
其中,正数个数为2,负数个数为2,零的个数为1
```
因此,本程序实现了从用户获取输入整数序列、统计正、负、零元素个数和输出结果的功能。
阅读全文