首页 > 其他 > 详细

ios学习记录 day7

时间:2014-03-08 21:08:48      阅读:594      评论:0      收藏:0      [点我收藏+]

1.类型 数组名[第一维][第二维] = 初始值;//第一维 第二维 是常量表达式

2.二维数组定义时,可以不指定第一维的长度,但必须给定第二维. 元素个数不足,自动补齐.//int a[][3] = {1,2,3,4,5};

3.字符串 字符型一维数组 | 字符串数组 字符型二维数组

 

 

课上练习:

1).将一个二维数组的行和列交换,存储到另外一个数组中去.

    int a[3][4] = {0};
    int b[4][3] = {0};
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            a[i][j] = arc4random() % (20 - 10 + 1) + 1;
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 3; j++) {
            b[i][j] = a[j][i];
            printf("%d ",b[i][j]);
        }
        printf("\n");
    }
2).一个3行4列的二维数组,找出最大元素,输出所在的行和列.
    int a[3][4] = {0};
    int row = 0,col = 0;
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            a[i][j] = arc4random() % (20 - 10 + 1) + 10;
            printf("%d ",a[i][j]);
            if (a[row][col] < a[i][j]) {
                row = i;
                col = j;
            }
        }
        printf("\n");
    }
    printf("max = %d\n行%d,列%d\n",a[row][col],row,col);
(3)char str[3][20] = {"iphone","Android","winPhone"};
    for (int i = 0; i < 3; i++) {
        int length = 0;
        while (str[i][length] != ‘\0‘) {
            printf("%c",str[i][length]);
            length++;
        }
        printf("\n");
    }
(4)char str[3][20] = {"iphone","Android","winPhone"};
    char str1[20] = "";
    
    strcpy(str1, str[1]);
    strcpy(str[1], str[2]);
    strcpy(str[2], str1);
    
    for (int i = 0; i < 3; i++) {
        printf("%s\n",str[i]);
    }
5).输入三个字符串,输出最大的那个.

    char str[3][20] = {0};
    int maxIndex = 0;
    for (int i = 0; i < 3; i++) {
        scanf("%s",str[i]);
    }
    for (int i = 0; i < 3; i++) {
        if (strlen(str[maxIndex]) < strlen(str[i])) {
            maxIndex = i;
        }
    }
    printf("\n%s\n",str[maxIndex]);
6).通讯录有10个人名,按照姓的拼音缩写排列输出
char str[10][20] = {0};
    char temp[20] = {0};
//  随机生成5-15的名字
    for (int i = 0; i < 10; i++) {
        int rLength = arc4random() % (15 - 5 + 1) + 5;//随机产生名字的长度
        for (int j = 0; j < rLength; j++) {
            int r = arc4random() % 2;//真 假
            str[i][j] = r ? arc4random() % (‘z‘-‘a‘+1)+‘a‘ : arc4random() % (‘Z‘-‘A‘+1)+‘A‘;//真随机小写 假随机大写字母
        }
        str[i][rLength] = ‘\0‘;//名字结束
    }

//    for (int i = 0; i < 10; i++) { /*名字键盘输入
//        scanf("%s",str[i]);
//    }                              */
    
    for (int i = 0; i < 10 - 1; i++) {
        for (int j = 0; j < 10 - i - 1; j++) {
            if (strcmp(str[j],str[j + 1]) > 0) {
                strcpy(temp, str[j]);
                strcpy(str[j], str[j + 1]);
                strcpy(str[j + 1], temp);
                
            }
        }
    }
    for (int i = 0; i < 10; i++) {
        printf("%s\n",str[i]);
    }

 作业:

1.输入6个字符串,并对它们按从小到大的顺序排序后输出。

2.找出一个二维数组中的“鞍点”,即该位置上的元素在该行中最大,在该列中最小(也可能没鞍点),打印出有关信息。

 

1.反转一个数组内的元素(例如一个数组内元素为1,2,3,4,5,反转后为5,4,3,2,1)

2.编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排序,然后将这两个数组合并成一个升序数组。

3.给定某年某月某日,将其转换成这一年的第几天并输出。

4.char result[50] = {0};
char str1[] = "Lanou ";
char str2[] = “dlios8”;
char str3[] = " is best!";
把str1, str2, str3合并到result数组中。
“Lanou dlios8 is best!”

5.模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生),
若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。

6.编写一个程序,要求用户输入一个美金数量, 然后显示出如何用最少的20美元、10美元、5美元和1美元来付款

ios学习记录 day7,布布扣,bubuko.com

ios学习记录 day7

原文:http://www.cnblogs.com/lxllanou/p/3586295.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!