输入20个数字,统计非负数个数,计算负数之和C语言
时间: 2023-06-25 08:04:30 浏览: 107
以下是一个简单的C语言程序,可以实现输入20个数字,统计非负数个数,计算负数之和:
```
#include <stdio.h>
int main() {
int nums[20];
int count = 0;
int sum_negative = 0;
// 输入20个数字
printf("请输入20个数字:\n");
for (int i = 0; i < 20; i++) {
scanf("%d", &nums[i]);
}
// 统计非负数个数和负数之和
for (int i = 0; i < 20; i++) {
if (nums[i] >= 0) {
count++;
} else {
sum_negative += nums[i];
}
}
// 输出结果
printf("非负数个数:%d\n", count);
printf("负数之和:%d\n", sum_negative);
return 0;
}
```
这个程序首先定义了一个长度为20的整型数组`nums`,然后使用循环来输入20个数字。接着,再使用另一个循环来统计非负数个数和负数之和。最后输出结果。
相关问题
从键盘输入10个数,用c语言统计非负数的个数,并计算非负数的和
好的,下面是一个简单的C语言代码实现:
```c
#include <stdio.h>
int main() {
int num, count = 0, sum = 0;
for (int i = 0; i < 10; i++) {
printf("请输入第%d个数:", i + 1);
scanf("%d", &num);
if (num >= 0) {
count++;
sum += num;
}
}
printf("非负数的个数为:%d,非负数的和为:%d\n", count, sum);
return 0;
}
```
代码解释:
1. 定义3个变量:`num`表示输入的数字,`count`表示非负数的个数,`sum`表示非负数的和;
2. 使用for循环输入10个数,并判断每个数是否非负数,如果是,则`count`加1,`sum`加上该数;
3. 最后输出`count`和`sum`的值。
c语言 表达式 假 从键盘输入若干个实数(以0结束输入)统计输入的正整数个数及正数之和统计输入的负数个数及负数之和 数据方法 是信息 数字 基
C语言是一种广泛应用的、结构化编程语言,由Dennis Ritchie于1972年为贝尔实验室开发。它以其简洁、高效以及强大的系统级编程能力而著称。在C语言中,表达式是计算的核心部分,它们可以包括常量、变量、运算符和函数调用等,用于生成值。
在上述的场景描述里,"假"可能是对某个条件的判断结果,不是C语言的一部分。C程序通常会从用户键盘输入获取数据,例如通过`scanf`函数输入若干个实数(如浮点数),当遇到0时,程序会停止输入。要统计正整数、正数总和、负数个数和负数总和,你可以设计以下几个步骤:
1. **数据方法**:使用循环遍历输入的数值,检查每个数是否为正整数、正数或负数。可以用条件语句(如`if`)实现这个功能。
2. **数字处理**:对于正整数,增加计数器并累加其值;对于正数但非整数,则仅累加;对于负数,同样增加负数计数器并累加绝对值。
3. **基本结构**:在C语言中,可以使用`while`或`for`循环结合条件控制结构来完成这个任务。还需要使用变量来存储计数和总和。
示例代码片段可能会像这样:
```c
#include <stdio.h>
int main() {
int count_positive = 0, sum_positive = 0;
int count_negative = 0, sum_negative = 0;
float num;
while (scanf("%f", &num) == 1 && num != 0) {
if (num > 0 && (int)num == num) { // 正整数
count_positive++;
sum_positive += num;
} else if (num < 0) { // 负数
count_negative++;
sum_negative += num;
}
}
printf("正整数个数: %d, 总和: %.2f\n", count_positive, sum_positive);
printf("负数个数: %d, 总和: %.2f\n", count_negative, -sum_negative); // 负数总和取反
return 0;
}
```
阅读全文