黑马程序员技术交流社区

标题: 作业:数组和指针的十道练习题 [打印本页]

作者: 天鹰的空    时间: 2015-8-12 21:54
标题: 作业:数组和指针的十道练习题
//#include <stdio.h>
//
//int main(){
//   
//1.定义一个长度为5的int数组.分别用while与for遍历打印每一个值.
//    (且每种都用两种方式:1.用数组名.2.用指针).

//for 数组名
//#include<stdio.h>
//int main(){
//   
//    int arr[5]={12,13,55,23,26};
//    for (int i = 0; i<5; i++) {
//        printf("数组第%d个值是:%d\n",i+1,arr[i]);
//    }
//    return 0;
//}


//for 指针
//#include<stdio.h>
//int main(){
//   
//    int arr[5]={12,13,55,23,26};
//    int *p=&arr[0];
//    for (int i = 0; i<5; i++) {
//        printf("数组第%d个值是:%d\n",i+1,*(p+i));
//    }
//    return 0;
//}


////while 数组
//#include<stdio.h>
//int main(){
//    int i=0;
//    int arr[5]={12,13,55,23,26};
//    while (i<5) {
//        printf("数组第%d个值是:%d\n",i+1,arr[i]);
//        i++;
//    }
//    return 0;
//}



//while 指针
//#include<stdio.h>
//int main(){
//    int i=0;
//    int arr[5]={12,13,55,23,26};
//    int *p=&arr[0];
//    while (i<5) {
//        printf("数组第%d个值是:%d\n",i+1,*(p+i));
//        i++;
//    }
//    return 0;
//}



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


//#include<stdio.h>
//int main(){
//    int a = 0;
//    int arr[5]={12,13,55,23,26};
//    for (int i =0; i<4; i++) {
//        if (arr[i]<arr[i+1]) {
//            arr[i+1]=arr[i];
//            a=i;
//        }
//    }
//    printf("最小值是:%d\n",arr[4]);
//    return 0;
//}


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



//#include<stdio.h>
//int main(){
//    int sum = 0;
//    int arr[5]={12,13,55,23,26};
//    for (int i =0; i<5; i++) {
//        sum += arr[i];
//    }
//    sum /= 5;
//    printf("平均值是:%d\n",sum);
//    return 0;
//}





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

//#include<stdio.h>
//int main(){
//    char arr[8]="aghfjjst";
//    for(int i = 0;i<8;i++){
//        printf("%c",arr[i]);
//    }
//    printf("\n");
//    return 0;
//}


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


//不一样


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

//#include<stdio.h>
//int main(){
//    int arr[4]={2,4,3,6};
//    int (*pa)[4]=&arr;
//    int *p=&arr[0];
//    printf("数组元素的指针打印的值分别是:\n");
//    for(int i = 0;i<4;i++){
//        printf("%d\n",*(p+i));
//    }
//    printf("数组的指针打印的值分别是:\n");
//    for(int i = 0;i<4;i++){
//        printf("%d\n",(*pa)[i]);
//    }
//    return 0;
//}
//


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

//#include<stdio.h>
//int main(){
//    int arr[4]={65,66,67,68};
//    char ar[4]={0,0,0,0,};
//    char (*p)[4]=&ar;
//    printf("char arr[4]={");
//    for (int i = 0; i<4; i++) {
//        
//        char a = arr[i];
//        (*p)[i] = a;
//        printf("%c",(*p)[i]);
//        if (i<3) {
//            printf(",");
//        }
//    }
//    printf("}");
//    return 0;
//}




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

//#include<stdio.h>
//int main(){
//    char arr[4]={'A','G','K','M'};
//    char (*p)[4]=&arr;
//    int a=0;
//    printf("转换后是:char arr[4]={");
//    for (int i = 0; i<4; i++) {
//        a=(*p)[i];
//        printf("'%c'",a-32);
//        if (i<3) {
//            printf(",");
//        }
//    }
//    printf("}\n");
//    return 0;
//}



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

//#include<stdio.h>
//int main(){
//    int arr[3];
//    int *p[3];
//    for (int i = 0; i<3; i++) {
//        int a=0;
//        scanf("%d,",&a);
//        arr[i]=a;
//        p[i]=&arr[i];
//    }
//    for (int i = 0; i<2; i++) {
//        if (*p[i]<*p[i+1]) {
//            *p[i+1]=*p[i];
//        }
//    }
//     printf("这个数组最小值是:%d\n",*p[2]);
//    return 0;
//}



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


//#include<stdio.h>
//int main(){
//    int a = 4;
//    int *p=&a;
//    int **ps=&p;
//    int ***pss=&ps;
//    ***pss=100;
//    printf("a=%d\n",a);
//    return 0;
//}


//11.定义一个函数的指针,并使用.使得a的值增加88.
//
/*
#include<stdio.h>
int fc(int a);
int main(){
    int a=11;
    printf("改变前 a=%d\n",a);
   
    int(*pp)(int);
    pp=fc;
   
    int c=pp(a);
    printf("改变后 a=%d\n",c);
    return 0;
}
int fc(int a){
    return a+88;

}
*/
作者: xiaoguang    时间: 2015-8-12 22:07
这么多题呀.
作者: 天鹰的空    时间: 2015-8-12 22:09
xiaoguang 发表于 2015-8-12 22:07
这么多题呀.

布置的作业  写也一晚上。。
作者: 星耀    时间: 2015-8-12 22:19
先收藏,有空练练
作者: WPeng    时间: 2015-8-12 22:22
后场,有空练练....




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2