从键盘输入20个实数,分别计算并输出:所有正数之和,所有负数之和,所有数的绝对值之和,正数的个数和负数的个数。
改了好几遍了还是错的,哭辽,求解决办法感谢感谢
#include <stdio.h>
#include <math.h>
int main()
{
int i, m = 0, n = 0;
double a[20], b = 0, c = 0, d = 0;
printf("请输入20个实数:\n");
for (i=0; i<20; i++)
{
scanf("%lf", &a[i]);
if (a[i] > 0)
{
m++;
c += a[i];
}
if (a[i] < 0)
{
n++;
d += a[i];
}
b += fabs(a[i]);
}
printf("所有正数之和:%lf\n", c);
printf("所有负数之和:%lf\n", d);
printf("所有数的绝对值之和:%lf\n", b);
printf("正数个数:%d\n", m);
printf("负数个数:%d", n);
}
还有,你有处理逗号吗?突然就输入的时候以逗号隔开??
让你求绝对值的和,你却算的是fabs(i),i只是序号啊,a[i]才是值啊。b = b+fabs(a[i]);
后面错误都是一个原因,是 c = c+a[i],d = d + a[i]