"c语言编程题答案解析:统计50个实数的正负零个数"

1 下载量 131 浏览量 更新于2024-01-13 1 收藏 106KB DOC 举报
根据给定的信息,根据题目要求,我们需要编写一个程序来统计给定的50个实数中有多少个正数、负数和零。 首先,我们需要定义一个数组来存储这50个实数,然后使用一个循环来依次输入这些实数。接着,我们需要定义三个变量来记录正数、负数和零的个数。初始值都为0。 接下来,我们使用另一个循环来遍历这个数组,对每个元素进行判断。如果元素大于0,则认为它是正数,将正数计数器加1。如果元素小于0,则认为它是负数,将负数计数器加1。如果元素等于0,则认为它是零,将零计数器加1。 最后,我们输出统计结果,即正数、负数和零的个数。 以下是完整的C语言程序: ```c #include <stdio.h> int main() { float numbers[50]; int positiveCount = 0; int negativeCount = 0; int zeroCount = 0; printf("请输入50个实数:\n"); for (int i = 0; i < 50; i++) { scanf("%f", &numbers[i]); } for (int i = 0; i < 50; i++) { if (numbers[i] > 0) { positiveCount++; } else if (numbers[i] < 0) { negativeCount++; } else { zeroCount++; } } printf("正数个数:%d\n", positiveCount); printf("负数个数:%d\n", negativeCount); printf("零的个数:%d\n", zeroCount); return 0; } ``` 以上是一个简单的统计正数、负数和零个数的C语言程序。程序首先会询问用户输入50个实数,然后根据输入的实数进行统计,并输出结果。 这个程序的时间复杂度为O(n),其中n为输入的实数个数。 在程序中,我们使用了两个for循环,第一个for循环用于输入50个实数,第二个for循环用于遍历这50个实数,并进行判断。因此,整个程序的时间复杂度为O(n)。 总结起来,这个程序通过使用两个循环和一些条件判断,能够准确地统计给定的50个实数中有多少个正数、负数和零。同时,程序的时间复杂度也相对较低,能够在较短的时间内完成统计任务。