作业帮 > 综合 > 作业

求解决“由键盘任意输入10个数据,分别统计其中的正数个数、正数之和、负数个数、负数之和”的编程问题

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/25 16:22:57
求解决“由键盘任意输入10个数据,分别统计其中的正数个数、正数之和、负数个数、负数之和”的编程问题
#include
void main()
{
long int i,a[10],zhengshu=0,fushu=0,m=0,n=0;
for(i=1;i
求解决“由键盘任意输入10个数据,分别统计其中的正数个数、正数之和、负数个数、负数之和”的编程问题
数组越界了,C语言中定义 long a[10],其元素依次为 a[0],a[1],a[2]...a[9]
所以循环的时候,一般这样
for (i = 0; i < 10; i ++)
{
    scanf("%ld", &a[i]);
}
 另外,在做你这道题时,没有必要做两次循环,一个循环就可以了呀
scanf到了一个数之后,立即判断其正负性,然后做相应的累加即可
所以,连数组都没必要使用,哈哈.
再问: 我是新手,能不能详细纠正一下。。
再答: #include <stdio.h>

void main()
{
long i;
long zhengshu = 0;
long fushu = 0;
long m = 0;
long n = 0;
long a[10];

for (i = 0; i < 10; i ++)
{
scanf("%ld", &a[i]);
}

for (i = 0; i < 10; i ++)
{
if (a[i] > 0)
{
zhengshu = zhengshu + a[i];
m ++;
}
else
{
fushu = fushu + a[i];
n ++;
}
}

printf("zhengshu=%ld,geshu=%ld\nfushu=%ld,geshu=%ld\n",zhengshu,m,fushu,n);
}