A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[学习交流] C语言阶段性联系题

© 韦德460 中级黑马   /  2016-1-1 16:21  /  1337 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//1.定义一个长度为5的int数组.分别用while于for遍历打印每一个值.
//(且每种都用两种方式:1.用数组名. 2.用指针)

//2.定义一个函数可以把任意一个整型数组的最小值取出来

//3.定义一个函数可以吧任意一个整型数组的平均值取出来

//4.定义一个字符串数组,并打印里面的每一个字符串

//5.已知一个int数组,int arr[4]={2,4,3,6};问:*(arr+1)与*(&arr+1)的值一样吗?

//6.分别用数组的指针与数组元素的指针去遍历打印第5题中数组里面的每一个值

//7.把int arr[4]={65,66,67,68};转换成一个字符数组char arr[4];

//8.定义一个函数,把任意一个大写字母转换成小写字母.注:大写与小写相差32.如'a'=65 'A'=97

//9.在控制台上输入整数,创建一个长度为3的int数组,用数组的每一个元素的指针组成一个int指针数组,并通过这个int指针数组求int数组的最小值

//10.已知int a=4; int *p=&a; int **ps=&p; int ***pss=&ps;用指针pss把a的值改成100;

//11.定义一个函数指针,并使用

//12.定义一个指针函数


  1. #include <stdio.h>


  2. int getMin(int arr[],int len){

  3.     int min = arr[0];
  4.     for (int i =0; i < 8; i++) {
  5.         if (min > arr[i]) {
  6.             min = arr[i];
  7.         }
  8.     }
  9.    
  10.     return min;
  11. }

  12. float getAvg(int arr[],int len){
  13.    
  14.     int avg = 0;
  15.     for (int i =0; i < 8; i++) {
  16.         avg += arr[i];
  17.     }
  18.    
  19.     return (float)avg/8;
  20. }

  21. char toLower(char ch){
  22.    
  23.     return ch+32;
  24.    
  25. }

  26. void printLine(int num){
  27.     for (int i = 0; i < num; i++) {
  28.         printf("--------------------\n");
  29.     }
  30. }

  31. char *strFun(int num){
  32.     return num>2?"num大于2!":"num不大于2";
  33. }

  34. int main(){
  35.    
  36.    
  37. //1.定义一个长度为5的int数组.分别用while于for遍历打印每一个值.
  38. //(且每种都用两种方式:1.用数组名. 2.用指针)
  39.     {
  40. //        int arr[5] = {2,4,6,1,8};
  41. //        int *arrP = arr;
  42. //        
  43. //        //方法一:用数组名
  44. //            int i = 0;
  45. //            while (i != 5 ) {
  46. //                printf("%d\n",*(arr+i));
  47. //                i++;
  48. //            }
  49. //        
  50. //            for (int i = 0; i < 5; i++) {
  51. //                printf("%d\n",*(arr+i));
  52. //            }
  53. //        
  54. //        //方法二:用指针
  55. //            int i = 0;
  56. //            while (i != 5 ) {
  57. //                printf("%d\n",*(arrP+i));
  58. //                i++;
  59. //            }
  60. //            
  61. //            for (int i = 0; i < 5; i++) {
  62. //                printf("%d\n",*(arrP+i));
  63. //            }
  64.     }
  65.    
  66. //2.定义一个函数可以把任意一个整型数组的最小值取出来
  67.     {
  68. //        int arr[8] = {34,2,67,23,435,88,224,5};
  69. //        int min = getMin(arr,8);
  70. //        printf("数组arr中的最小值为: %d\n",min);
  71.     }
  72.    
  73. //3.定义一个函数可以吧任意一个整型数组的平均值取出来
  74.     {
  75. //        int arr[8] = {34,2,67,23,435,88,224,5};
  76. //        float avg = getAvg(arr,8);
  77. //        printf("数组arr中的平均值为: %.2f\n",avg);
  78.     }
  79.    
  80. //4.定义一个字符串数组,并打印里面的每一个字符串
  81.     {
  82. //        char *strArr[4] = {"itcast","itgaobo","itbaidu","itheima"};
  83. //        for (int i = 0; i < 4; i++) {
  84. //            //数组下标遍历
  85. ////            printf("%s\n",strArr[i]);
  86. //            //数组名遍历
  87. //            printf("%s\n",*(strArr+i));
  88. //        }
  89.     }
  90.    
  91. //5.已知一个int数组,int arr[4]={2,4,3,6};问:*(arr+1)与*(&arr+1)的值一样吗?
  92.     {
  93. //        int arr[4]={2,4,3,6};
  94. //        //*(arr+1):4
  95. //        //*(&arr+1):越界
  96. //        printf("%d\n",*(arr+1));
  97. //        printf("%d\n",*(&arr+1));
  98.     }
  99.    
  100. //6.分别用数组的指针与数组元素的指针去遍历打印第5题中数组里面的每一个值
  101.     {
  102. //        int arr[4]={2,4,3,6};
  103. //        //方法一:数组的指针遍历数组
  104. //        int (*ps)[4] = &arr;
  105. //        for (int i = 0; i < 4; i++) {
  106. //            printf("%d\n",(*ps)[i]);
  107. //        }
  108. //        
  109. //        //方法二:数组元素的指针遍历数组
  110. //        int *p = arr;
  111. //        for (int i = 0; i < 4; i++) {
  112. //            printf("%d\n",*(p+i));
  113. //        }
  114.     }
  115.    
  116. //7.把int arr[4]={65,66,67,68};转换成一个字符数组char arr[4];
  117.     {
  118. //        int arr[4]={65,66,67,68};
  119. //        char arrC[4];
  120. //        for (int i = 0; i < 4; i++) {
  121. //            arrC[i] = arr[i];
  122. //        }
  123. //        for (int i = 0; i < 4; i++) {
  124. //            printf("%c",arrC[i]);
  125. //        }
  126. //        printf("\n");
  127.     }
  128.    
  129. //8.定义一个函数,把任意一个大写字母转换成小写字母.注:大写与小写相差32.如'a'=65 'A'=97
  130.     {
  131. //        printf("请输入一个大写字母: ");
  132. //        char ch;
  133. //        scanf("%c",&ch);
  134. //        ch = toLower(ch);
  135. //        printf("这个字母的小写形式为: %c\n",ch);
  136.     }
  137.    
  138. //9.在控制台上输入整数,创建一个长度为3的int数组,用数组的每一个元素的指针组成一个int指针数组,并通过这个int指针数组求int数组的最小值
  139.     {
  140. //        printf("请数组三个整数用逗号隔开: ");
  141. //        int arr[3];
  142. //        scanf("%d,%d,%d",&arr[0],&arr[1],&arr[2]);
  143. //        int *arrP[3] = {&arr[0],&arr[1],&arr[2]};
  144. //        int min = **(arrP+0);
  145. //        for (int i = 0; i < 3; i++) {
  146. //            if (min > **(arrP+i)) {
  147. //                min = **(arrP+i);
  148. //            }
  149. //        }
  150. //        printf("通过这个int指针数组求int数组的最小值为: %d\n",min);
  151.     }
  152.    
  153. //10.已知int a=4; int *p=&a; int **ps=&p; int ***pss=&ps;用指针pss把a的值改成100;
  154.     {
  155. //        int a=4; int *p=&a; int **ps=&p; int ***pss=&ps;
  156. //        ***pss = 100;
  157. //        printf("a = %d\n",a);
  158.     }
  159.    
  160. //定义一个函数指针,并使用
  161.     {
  162. //        void (*p)(int num) = printLine;
  163. //        p(3);
  164.     }
  165.    
  166. //定义一个指针函数
  167.     {
  168. //        char *str = strFun(2);
  169. //        printf("%s\n",str);
  170.     }
  171.    
  172.    
  173.    
  174.    
  175.    
  176.    
  177.    
  178.    
  179.    
  180.    
  181.    
  182.    
  183.    
  184.    
  185.    
  186.    
  187.    
  188.    
  189.    
  190.    
  191.    
  192.    
  193.    
  194.    
  195.    
  196.     return 0;
  197. }
复制代码



1 个回复

倒序浏览
自己顶!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马