C语言编写程序从键盘输入20个整数存储在一个一维数组中,统计并输出其中正整数的个数
时间: 2024-03-10 17:46:45 浏览: 111
好的,我来为您解答这个问题。
以下是一个示例程序:
```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
```
希望能帮助到您!
相关问题
编写程序,输入10个整数存入一维数组,统计输出其中的正数、负数和零的个数。用初学者C语言
在C语言中,为了实现这个功能,你可以按照以下步骤编写程序:
```c
#include <stdio.h> // 包含输入输出库
int main() {
int numbers[10]; // 定义一个长度为10的一维数组用于存储整数
int positive_count = 0; // 正数计数器
int negative_count = 0; // 负数计数器
int zero_count = 0; // 零的计数器
// 输入10个整数
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &numbers[i]); // 通过%d读取整数并保存到数组中
if (numbers[i] > 0) { // 检查数字是否为正
positive_count++;
} else if (numbers[i] < 0) { // 检查数字是否为负
negative_count++;
} else if (numbers[i] == 0) { // 检查数字是否为零
zero_count++;
}
}
// 输出结果
printf("\n正数的数量: %d\n", positive_count);
printf("负数的数量: %d\n", negative_count);
printf("零的数量: %d\n", zero_count);
return 0;
}
```
在这个程序中,我们首先定义了一个可以存放10个整数的数组。接着,通过循环获取用户输入,并根据条件判断每个元素是正数、负数还是零,然后更新相应的计数器。最后,打印出各个类型的计数值。
用c语言,一维数组统计两个正整数之间的所有整数中包含0,1,2,…,9数码的个数,然后输出数组,
以下是用 C 语言编写的程序,可以实现你的需求:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int num1, num2, i, j, digit, count;
int digits[10] = {0};
printf("请输入两个正整数:\n");
scanf("%d%d", &num1, &num2);
if (num1 > num2) {
printf("第一个数必须小于第二个数!\n");
exit(0);
}
for (i = num1; i <= num2; i++) {
count = 0;
j = i;
while (j != 0) {
digit = j % 10;
if (digits[digit] == 0) {
digits[digit] = 1;
count++;
}
j /= 10;
}
if (count == 10) {
break;
}
}
printf("数字0~9在%d和%d之间所有整数中出现的次数如下:\n", num1, num2);
for (i = 0; i < 10; i++) {
printf("%d出现了%d次\n", i, digits[i]);
}
return 0;
}
```
程序中定义了一个包含10个元素的整型数组 `digits`,用于统计数字 0~9 在输入的两个正整数之间所有整数中出现的次数。
程序首先提示用户输入两个正整数,如果第一个数大于第二个数,则输出错误信息并结束程序。
接着,程序使用一个循环遍历输入的两个正整数之间的所有整数。对于每个整数,程序通过除以10和取模运算得到该整数的每个位上的数字,并将该数字对应的 `digits` 数组元素设为1,以表示该数字已经出现过。同时,程序还记录了在当前整数中已经出现的不同数字的个数,如果该个数等于10,则说明数字 0~9 都已经出现过,直接跳出循环。
最后,程序输出了 `digits` 数组中每个元素的值,即数字 0~9 在输入的两个正整数之间所有整数中出现的次数。
阅读全文