定义二维数组:data[11][5]
,类型为double
。使用2.0
到3.0
(包括0.1
和3.0
)的值初始化第一列中的元素。
设置行的第一个元素的值为x
,则使用值1 / x
,x * x
,x * x * x
和x * x * x * x
填充每行中的其余元素。
第一行在单独的行上输出标题为:
x 1/x x*x x*x*x x*x*x*x
代码实现如下
#include <stdio.h>
int main(void)
{
const size_t nrows = 11; // Number of rows in the array
const size_t ncols = 5; // Number of columns in the array
double data[nrows][ncols]; // Stores data values
double value = 2.0; // Value to be stored in array
for (size_t row = 0; row < nrows; ++row)
{
data[row][0] = value;
data[row][1] = 1.0 / data[row][0]; // 1/x
data[row][2] = data[row][0] * data[row][0]; // x*x
data[row][3] = data[row][2] * data[row][0]; // x*x*x
data[row][4] = data[row][3] * data[row][0]; // x*x*x*x
value += 0.1;
}
printf(" x ");
printf(" 1/x ");
printf(" x*x ");
printf(" x*x*x ");
printf(" x*x*x*x");
for (size_t row = 0; row < nrows; ++row)
{
printf("\n");
for (size_t col = 0; col < ncols; ++col)
printf("%15.4lf", data[row][col]);
}
printf("\n");
return 0;
}
执行上面示例代码,得到以下结果:
hema@yiibai:~/book$ gcc main.c
hema@yiibai:~/book$ ./a.out
x 1/x x*x x*x*x x*x*x*x
2.0000 0.5000 4.0000 8.0000 16.0000
2.1000 0.4762 4.4100 9.2610 19.4481
2.2000 0.4545 4.8400 10.6480 23.4256
2.3000 0.4348 5.2900 12.1670 27.9841
2.4000 0.4167 5.7600 13.8240 33.1776
2.5000 0.4000 6.2500 15.6250 39.0625
2.6000 0.3846 6.7600 17.5760 45.6976
2.7000 0.3704 7.2900 19.6830 53.1441
2.8000 0.3571 7.8400 21.9520 61.4656
2.9000 0.3448 8.4100 24.3890 70.7281
3.0000 0.3333 9.0000 27.0000 81.0000