8.1

  1. #include <stdio.h>
  2.  
  3. int main (void)
  4. {
  5. int a, b, c, d;
  6.  
  7. // 不使用嵌套花括号初始化
  8. unsigned char char_value[][][][] =
  9. {
  10. , , , , , , , , , , , , , , , , , , , , // 0,0,X,X
  11. , , , , , , , , , , , , , , , , , , , , // 0,1,X,X
  12. , , , , , , , , , , , , , , , , , , , ,
  13. , , , , , , , , , , , , , , , , , , , ,
  14. , , , , , , , , , , , , , , , , , , , ,
  15. , , , , , , , , , , , , , , , , , , , ,
  16.  
  17. , , , , , , , , , , , , , , , , , , , , // 1,0,X,X
  18. , , , , , , ' ', , , , , , , , , , , , , , // 1,1,X,X
  19. , , , , , , , , , , , , , 'A', , , , , , 'x',
  20. , , , , , , , , , , , , 0xf3, , , , , , , ,
  21. , , , , , , , , , , , , , '\n', , , , , , ,
  22. , , , , , , , , , , , , , , , , , , , ,
  23.  
  24. , , , , , , , , , , , , , , , , , , , , // 2,0,X,X
  25. , , , , , , , , , , , , , , , , , , , , // 2,1,X,X
  26. , , , , , , '', , , , , , '\'', , , , '\121', , , ,
  27. , , , , , , , , , , , , , , , , , , , ,
  28. , , , , , , , , , , , , , , , , , '', , ,
  29. , , , , , , , , , , , , , , , , , , , ,
  30. };
  31.  
  32. /*
  33. // 使用嵌套花括号初始化
  34. unsigned char char_value[3][6][4][5] =
  35. {
  36. { //0,X,X,X
  37. { //0,0,X,X
  38. { 0 }, //0,0,0,X
  39. }
  40. },
  41. { //1,X,X,X
  42. { 0 }, //1,0,X,X
  43. { //1,1,X,X
  44. { 0 }, //1,1,0,X
  45. { //1,1,1,X
  46. 0, ' '
  47. }
  48. },
  49. { //1,2,X,X
  50. { 0 }, //1,2,0,X
  51. { 0 }, //1,2,1,X
  52. { 0, 0, 0, 'A' },//1,2,2,X
  53. { //1,2,3,X
  54. 0, 0, 0, 0, 'x'
  55. }
  56. },
  57. { //1,3,X,X
  58. { 0 }, //1,3,0,X
  59. { 0 }, //1,3,1,X
  60. { //1,3,2,X
  61. 0, 0, 0xf3
  62. }
  63. },
  64. { //1,4,X,X
  65. { 0 }, //1,4,0,X
  66. { 0 },//1,4,1,X
  67. { //1,4,2,X
  68. 0, 0, 0, '\n'
  69. }
  70. }
  71. },
  72. { //2,X,X,X
  73. { 0 }, //2,0,X,X
  74. { //2,1,X,X
  75. { 0 }, //2,1,0,X
  76. { //2,1,1,X
  77. 0, 0, 0320
  78. }
  79. },
  80. { //2,2,X,X
  81. { 0 }, //2,2,0,X
  82. { //2,2,1,X
  83. 0, '0'
  84. },
  85. { //2,2,2,X
  86. 0, 0, '\''
  87. },
  88. { //2,2,3,X
  89. 0, '\121'
  90. }
  91. },
  92. { 0 }, //2,3,X,X
  93. { //2,4,X,X
  94. { 0 }, //2,4,0,X
  95. { 0 }, //2,4,1,X
  96. { 0 }, //2,4,2,X
  97. { //2,4,3,X
  98. 0, 0, '3', 3
  99. }
  100. },
  101. { //2,5,X,X
  102. { 0 },//2,5,0,X
  103. { 0 },//2,5,1,X
  104. { 0 },//2,5,2,X
  105. { //2,5,3,X
  106. 0, 0, 0, 0, 125
  107. }
  108. }
  109. }
  110. };
  111. */
  112.  
  113. for ( a = ; a < ; a++ )
  114. for ( b = ; b < ; b++ )
  115. for ( c = ; c < ; c++ )
  116. for ( d = ; d < ; d++ )
  117. {
  118. if ( char_value[a][b][c][d] != )
  119. printf("char_value[%d][%d][%d][%d] = %d\n", a, b, c, d, char_value[a][b][c][d]);
  120. }
  121.  
  122. getchar();
  123. return ;
  124. }

8.3

  1. #include <stdio.h>
  2.  
  3. #define N 3
  4.  
  5. #define TRUE 1
  6. #define FLASE 0
  7.  
  8. int
  9. identity_matrix(int mat[][N])
  10. {
  11. int i, j;
  12. for( i = ; i < N; i++)
  13. {
  14. for( j = ; j < N; j++)
  15. {
  16. if ( ( i == j ) && ( != mat[i][j] ) )
  17. return FLASE;
  18. if ( ( i != j ) && ( != mat[i][j] ) )
  19. return FLASE;
  20. }
  21. }
  22. return TRUE;
  23. }
  24.  
  25. void show_mat(int mat[][N])
  26. {
  27. int i, j;
  28. for ( i = ; i < N; i++)
  29. {
  30. for( j = ; j < N; j++)
  31. {
  32. printf("%d\t", mat[i][j]);
  33. }
  34. putchar('\n');
  35. }
  36. }
  37.  
  38. int main (void)
  39. {
  40. int mat[][N] =
  41. {
  42. { },
  43. { , },
  44. { , , }
  45. };
  46.  
  47. int state = identity_matrix(mat);
  48. show_mat(mat);
  49.  
  50. if ( state )
  51. {
  52. printf("Yes!\n");
  53. }
  54. else
  55. printf("No!\n");
  56.  
  57. getchar();
  58. return ;
  59. }

8.4

  1. #include <stdio.h>
  2.  
  3. #define N 3
  4.  
  5. #define TRUE 1
  6. #define FLASE 0
  7.  
  8. int identity_matrix(int *mat, int n) //判断矩阵是否为单位矩阵
  9. {
  10. int i, j;
  11. for( i = ; i < n; i++)
  12. {
  13. for( j = ; j < n; j++)
  14. {
  15. if ( ( i == j ) && ( != *mat ) )
  16. return FLASE;
  17. if ( ( i != j ) && ( != *mat ) )
  18. return FLASE;
  19. mat++;
  20. }
  21. }
  22. return TRUE;
  23. }
  24.  
  25. void show_mat(int *mat, int n) //打印矩阵元素
  26. {
  27. int i, j;
  28.  
  29. for ( i = ; i < n; i++)
  30. {
  31. for( j = ; j < n; j++)
  32. {
  33. printf("%d\t", *mat++);
  34. }
  35. putchar('\n');
  36. }
  37. }
  38.  
  39. int main (void)
  40. {
  41. int mat[][N] =
  42. {
  43. { },
  44. { , },
  45. { , , }
  46. };
  47.  
  48. int state = identity_matrix( &mat[][], N);
  49. show_mat(&mat[][], N);
  50.  
  51. if ( state )
  52. {
  53. printf("Yes!\n");
  54. }
  55. else
  56. printf("No!\n");
  57.  
  58. getchar();
  59. return ;
  60. }

8.5

  1. #include <stdio.h>
  2.  
  3. #define X 3
  4. #define Y 2
  5. #define Z 4
  6.  
  7. void matrix_multiply(int *m1, int *m2, int *r, int x, int y, int z)
  8. {
  9. int i, j, k, sum;
  10.  
  11. for ( i = ; i < x; i++ )
  12. {
  13. for ( k = ; k < z; k++ )
  14. {
  15. sum = ;
  16. for ( j = ; j < y; j++ )
  17. {
  18. sum += (*(m1+(i*y)+j)) * (*(m2+(j*z+k)));
  19. }
  20. *( r + (i*z) + k ) = sum;
  21. }
  22. }
  23. }
  24.  
  25. void show_mat(int *mat, int x, int y) //打印矩阵元素
  26. {
  27. int i, j;
  28.  
  29. for ( i = ; i < x; i++)
  30. {
  31. for( j = ; j < y; j++)
  32. {
  33. printf("%d\t", *mat++);
  34. }
  35. putchar('\n');
  36. }
  37. putchar('\n');
  38. }
  39.  
  40. int main (void)
  41. {
  42. int m1[X][Y] =
  43. {
  44. { , - },
  45. { , },
  46. { , - }
  47. };
  48.  
  49. int m2[Y][Z] =
  50. {
  51. { , -, -, - },
  52. { -, -, , }
  53. };
  54.  
  55. int r[X][Z] = { };
  56.  
  57. printf("m1 = \n");
  58. show_mat(&m1[][], X, Y);
  59. printf("m2 = \n");
  60. show_mat(&m2[][], Y, Z);
  61.  
  62. matrix_multiply(&m1[][], &m2[][], &r[][], X, Y, Z);
  63. printf("r = m1 * m2 = \n");
  64. show_mat(&r[][], X, Z);
  65.  
  66. getchar();
  67. return ;
  68. }

《C和指针》章节后编程练习解答参考——第8章的更多相关文章

  1. 《C和指针》章节后编程练习解答参考——第5章

    5.1 题目: 略 解答代码: #include <stdio.h> int main(void) { char ch; while (((ch = getchar()) != EOF) ...

  2. 《C和指针》章节后编程练习解答参考——第10章

    10.1 #include <stdio.h> typedef struct { unsigned ]; unsigned ]; unsigned ]; }TelphoneNumber; ...

  3. 《C和指针》章节后编程练习解答参考——第9章

    9.1 #include <stdio.h> #include <ctype.h> #include <string.h> #define N 100 int ma ...

  4. 《C和指针》章节后编程练习解答参考——6.2

    <C和指针>——6.2 题目: 编写一个函数,删除源字符串中含有的子字符串部分. 函数原型: int del_substr(char *str, char const *substr); ...

  5. 《C和指针》章节后编程练习解答参考——6.3

    <C和指针>——6.3 题目: 编写一个函数,把参数字符串中的字符反向排列. 函数原型: void reverse_string(char *string); 要求: 使用指针而不是数组下 ...

  6. 《C和指针》章节后编程练习解答参考——6.6

    <C和指针>——6.6 题目: 在指定的下限.上限之间使用数组方法查找质数,并将质数提取出来. 要求: 略 解答代码: #include <stdio.h> #define U ...

  7. 《C和指针》章节后编程练习解答参考——6.4

    <C和指针>——6.4 题目: 质数是只能被1和本身整除的整数. 在1到1000之间的质数,在数组中剔除不是质数的数. 解答代码: #include <stdio.h> #de ...

  8. 《C和指针》章节后编程练习解答参考——6.1

    <C和指针>——6.1 6.1 题目: 编写一个函数,在一个字符串中进行搜索,查找另一子字符串中出现的字符. 函数原型如下: char *find_char(char const *sou ...

  9. DSAPI多功能组件编程应用-参考-Win32API常数

    DSAPI多功能组件编程应用-参考-Win32API常数 在编程过程中,常常需要使用Win32API来实现一些特定功能,而Win32API又往往需要使用一些API常数,百度搜索常数值,查手册,也就成了 ...

随机推荐

  1. Oracle学习.Windows 命令行 启动ORACLE服务与实例

    使用数据库前要先打开数据库的实例和监听器! --总结启动命令如下: lsnrctl  [start|stop|status]                  --启动监听器,停止监听器,查看监听器的 ...

  2. CONTROLS: <> TYPE TABLEVIEW USING SCREEN<>.在 ABAP/4 中声明表格 控制

    在 ABAP/4 中声明表格 控制 在屏幕中使 用表格控制 时,必须在 ABAP/4 程序中同时 声明表格控 制结构和表 格控制字段 . 例如: TABLES:   SFLIGHT. CONTROLS ...

  3. HTML5的渐变色 渐变的两种类型 createLinearGradient 和createRadialGradient

    今天又再看了html5的颜色渐变API,发现没有第一次看那么复杂. 不过我对这个颜色渐变存在着一个疑惑就是两种色带之间,那段是属于两种颜色混合的,有点模糊. 比如从红色变成黄色,在红与黄之间的那个地方 ...

  4. jQuery--对话框插件--dialog

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. PHP安全外延

    接下来,我们讲一下:php语言与Apache等中间.MySQL等数据库结合使用时所产生的一些安全问题. 1.文件解析漏洞分析 2.编码注入漏洞分析 3.is_numeric漏洞分析

  6. 一些as的配置

    打开Android Studio首选项对话框(Mac用户选择Android Studio菜单,Windows用户选择File → Settings菜单).分别展开Editor和Code Style选项 ...

  7. window和Linux下的软链接

    window下开启软链接命令: mklink /J  "D:\IdeaProjects\bms_work\smartcity_govnet\base_web\target\base_web\ ...

  8. Asp.net简单三层+Sqllite 增删改查

    新建项目à新建一个空白解决方案 在Model新建一个实体类 using System; using System.Collections.Generic; using System.Linq; usi ...

  9. 24、Javascript BOM

    BOM(Browser Object Model)浏览器对象模型,一组浏览器提供的API. window对象 window对象表示当前浏览器的窗口,是Javascript的顶级对象,所有创建的对象.函 ...

  10. css3新增加的选择器

    css3新增加的选择器 一.属性选择器: E[attr] 只要有属性名E[attr=value] 属性名=属性值E[attr~=blue] 包含这个blue整个单词就可以E[attr^=c] 以这个字 ...