所以我在C课程中遇到如下问题:下载网站上发布的文件'mydatafile',将文件传输到远程Unix机器,并根据p上列出的'running_sum.c'示例.26的Kelley-Pohl书中,创建了一个名为'processdata.c'的C代码,其中
在屏幕上输出结果
I have read … positive numbers, with a sum = …
I have read … negative numbers, with a sum = …
到目前为止,我已经包含了我的代码。它运行,但它在负列中给出了正数,反之亦然。另外,我不太确定如何计算正面和负数的数量及其总和。任何帮助将不胜感激。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
float x, positive, negative;
if (scanf("%lf", &x) !=1) {
printf("No data found\n");
exit(1);}
positive=negative=x;
printf("%9s%22s%22s\n",
"Count", "Positive Numbers", "Negative Numbers");
printf("%9d%22.3f%22.3f\n",
1, x, positive,negative);
for (i=2; scanf("%f", &x) == 1; ++i) {
if (x>0){
positive=x;
negative=0;}
else if (x<0){
negative=x;
positive=0;}
printf("%9d%22.3f%22.3f\n", i, x, positive, negative);
}
return 0;
}
答案 0 :(得分:2)
需要更改
printf("%9d%22.3f%22.3f\n", i, x, positive, negative);
要
printf("%9d%22.3f%22.3f\n", i, positive, negative);
这将解决问题。