易百教程

编写程序输出倒数,正方形,立方体和四次幂的表

定义二维数组:data[11][5],类型为double。使用2.03.0(包括0.13.0)的值初始化第一列中的元素。
设置行的第一个元素的值为x,则使用值1 / xx * xx * x * xx * 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