//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.定义一个指针函数
- #include <stdio.h>
- int getMin(int arr[],int len){
- int min = arr[0];
- for (int i =0; i < 8; i++) {
- if (min > arr[i]) {
- min = arr[i];
- }
- }
-
- return min;
- }
- float getAvg(int arr[],int len){
-
- int avg = 0;
- for (int i =0; i < 8; i++) {
- avg += arr[i];
- }
-
- return (float)avg/8;
- }
- char toLower(char ch){
-
- return ch+32;
-
- }
- void printLine(int num){
- for (int i = 0; i < num; i++) {
- printf("--------------------\n");
- }
- }
- char *strFun(int num){
- return num>2?"num大于2!":"num不大于2";
- }
- int main(){
-
-
- //1.定义一个长度为5的int数组.分别用while于for遍历打印每一个值.
- //(且每种都用两种方式:1.用数组名. 2.用指针)
- {
- // int arr[5] = {2,4,6,1,8};
- // int *arrP = arr;
- //
- // //方法一:用数组名
- // int i = 0;
- // while (i != 5 ) {
- // printf("%d\n",*(arr+i));
- // i++;
- // }
- //
- // for (int i = 0; i < 5; i++) {
- // printf("%d\n",*(arr+i));
- // }
- //
- // //方法二:用指针
- // int i = 0;
- // while (i != 5 ) {
- // printf("%d\n",*(arrP+i));
- // i++;
- // }
- //
- // for (int i = 0; i < 5; i++) {
- // printf("%d\n",*(arrP+i));
- // }
- }
-
- //2.定义一个函数可以把任意一个整型数组的最小值取出来
- {
- // int arr[8] = {34,2,67,23,435,88,224,5};
- // int min = getMin(arr,8);
- // printf("数组arr中的最小值为: %d\n",min);
- }
-
- //3.定义一个函数可以吧任意一个整型数组的平均值取出来
- {
- // int arr[8] = {34,2,67,23,435,88,224,5};
- // float avg = getAvg(arr,8);
- // printf("数组arr中的平均值为: %.2f\n",avg);
- }
-
- //4.定义一个字符串数组,并打印里面的每一个字符串
- {
- // char *strArr[4] = {"itcast","itgaobo","itbaidu","itheima"};
- // for (int i = 0; i < 4; i++) {
- // //数组下标遍历
- //// printf("%s\n",strArr[i]);
- // //数组名遍历
- // printf("%s\n",*(strArr+i));
- // }
- }
-
- //5.已知一个int数组,int arr[4]={2,4,3,6};问:*(arr+1)与*(&arr+1)的值一样吗?
- {
- // int arr[4]={2,4,3,6};
- // //*(arr+1):4
- // //*(&arr+1):越界
- // printf("%d\n",*(arr+1));
- // printf("%d\n",*(&arr+1));
- }
-
- //6.分别用数组的指针与数组元素的指针去遍历打印第5题中数组里面的每一个值
- {
- // int arr[4]={2,4,3,6};
- // //方法一:数组的指针遍历数组
- // int (*ps)[4] = &arr;
- // for (int i = 0; i < 4; i++) {
- // printf("%d\n",(*ps)[i]);
- // }
- //
- // //方法二:数组元素的指针遍历数组
- // int *p = arr;
- // for (int i = 0; i < 4; i++) {
- // printf("%d\n",*(p+i));
- // }
- }
-
- //7.把int arr[4]={65,66,67,68};转换成一个字符数组char arr[4];
- {
- // int arr[4]={65,66,67,68};
- // char arrC[4];
- // for (int i = 0; i < 4; i++) {
- // arrC[i] = arr[i];
- // }
- // for (int i = 0; i < 4; i++) {
- // printf("%c",arrC[i]);
- // }
- // printf("\n");
- }
-
- //8.定义一个函数,把任意一个大写字母转换成小写字母.注:大写与小写相差32.如'a'=65 'A'=97
- {
- // printf("请输入一个大写字母: ");
- // char ch;
- // scanf("%c",&ch);
- // ch = toLower(ch);
- // printf("这个字母的小写形式为: %c\n",ch);
- }
-
- //9.在控制台上输入整数,创建一个长度为3的int数组,用数组的每一个元素的指针组成一个int指针数组,并通过这个int指针数组求int数组的最小值
- {
- // printf("请数组三个整数用逗号隔开: ");
- // int arr[3];
- // scanf("%d,%d,%d",&arr[0],&arr[1],&arr[2]);
- // int *arrP[3] = {&arr[0],&arr[1],&arr[2]};
- // int min = **(arrP+0);
- // for (int i = 0; i < 3; i++) {
- // if (min > **(arrP+i)) {
- // min = **(arrP+i);
- // }
- // }
- // printf("通过这个int指针数组求int数组的最小值为: %d\n",min);
- }
-
- //10.已知int a=4; int *p=&a; int **ps=&p; int ***pss=&ps;用指针pss把a的值改成100;
- {
- // int a=4; int *p=&a; int **ps=&p; int ***pss=&ps;
- // ***pss = 100;
- // printf("a = %d\n",a);
- }
-
- //定义一个函数指针,并使用
- {
- // void (*p)(int num) = printLine;
- // p(3);
- }
-
- //定义一个指针函数
- {
- // char *str = strFun(2);
- // printf("%s\n",str);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- return 0;
- }
复制代码
|
|