C语言编写程序从键盘输入20个整数存储在一个一维数组中,统计并输出其中正整数的个数
时间: 2024-03-10 15:46:45 浏览: 32
好的,我来为您解答这个问题。
以下是一个示例程序:
```c
#include <stdio.h>
#define N 20 // 数组大小
int main()
{
int arr[N]; // 定义一个大小为 N 的数组
int i, count = 0; // 计数器
// 从键盘输入 N 个整数
printf("请输入 %d 个整数:\n", N);
for (i = 0; i < N; i++) {
scanf("%d", &arr[i]);
}
// 统计正整数的个数
for (i = 0; i < N; i++) {
if (arr[i] > 0) {
count++; // 如果当前元素是正整数,则计数器加1
}
}
// 输出结果
printf("正整数的个数为:%d\n", count);
return 0;
}
```
程序的运行结果如下:
```
请输入 20 个整数:
-1 -2 -3 -4 -5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
正整数的个数为:10
```
希望能帮助到您!
相关问题
c语言编写程序,输入n个整数存入一维数组,统计输出其中的正数、负数和零的个数。
以下是一个简单的C语言程序,可以实现输入n个整数存入一维数组,统计输出其中的正数、负数和零的个数。
```c
#include <stdio.h>
int main()
{
int n, i, num, pos = 0, neg = 0, zero = 0;
int arr[100];
printf("请输入整数的个数:");
scanf("%d", &n);
printf("请输入%d个整数:\n", n);
for(i=0; i<n; i++)
{
scanf("%d", &num);
arr[i] = num;
}
for(i=0; i<n; i++)
{
if(arr[i] > 0)
pos++;
else if(arr[i] < 0)
neg++;
else
zero++;
}
printf("正数的个数:%d\n", pos);
printf("负数的个数:%d\n", neg);
printf("零的个数:%d\n", zero);
return 0;
}
```
程序中,我们先通过 `scanf` 函数输入整数的个数 `n`,然后通过 `for` 循环和 `scanf` 函数依次输入每个整数,并将它们存入数组 `arr` 中。接着,我们再通过 `for` 循环遍历数组 `arr`,统计其中正数、负数和零的个数,并通过 `printf` 函数输出结果。
用c语言编写程序,从键盘上输入10个正整数存入一维数组中,求其中所有的素数之和并输出。
下面是一个用C语言编写的程序,可以实现从键盘上输入10个正整数存入一维数组中,求其中所有的素数之和并输出。
```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; // 是素数
}
int main() {
int arr[10];
int sum = 0;
printf("请输入10个正整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
for (int i = 0; i < 10; i++) {
if (is_prime(arr[i])) {
sum += arr[i];
}
}
printf("所有素数之和为:%d\n", sum);
return 0;
}
```
程序中定义了一个函数 `is_prime`,用于判断一个数是否为素数。接下来在 `main` 函数中,首先定义一个长度为10的一维数组 `arr`,用于存储输入的10个正整数。然后通过循环从键盘上输入这10个正整数。接着再通过循环遍历这个数组,如果当前数组元素是素数,则将其加到变量 `sum` 中。最后输出所有素数之和。