1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SQUARE(x) pow ((x), 2)
#define W "10"
#define S "%"W"s"
#define F1 "%"W".1f"
#define F2 "%"W".2f"
double SumArray (double a[], int n)
{
int c;
double sum = 0;
for (c = 0; c < n; c++)
{
sum += a[c];
}
return sum;
}
int main (void)
{
double filearray1[14], filearray2[14];
size_t r = 0;
FILE *fp;
char fname[] = "rent2.dat";
if ((fp = fopen (fname, "r")) == NULL)
{
printf ("Unable to open %s.\n", fname);
exit (EXIT_FAILURE);
}
printf (S S "\n", "Rent","Income");
printf (S S S S S "\n", "X","Y","XX","YY","XY");
while (r < (sizeof filearray1/sizeof *filearray1 )
&& fscanf (fp, "%lf%lf\n", &filearray1[r], &filearray2[r]) != EOF)
{
printf (F1 F1 F2 F2 F2 "\n",
filearray1[r], filearray2[r], SQUARE (filearray1[r]),
SQUARE (filearray2[r]), filearray1[r] * filearray2[r]);
r++;
}
printf (S S S S S"\n" ,"---------","---------","---------","---------","---------");
printf (F1 F1"\n", SumArray (filearray1, r), SumArray (filearray2, r));
return 0;
} |