zoukankan      html  css  js  c++  java
  • 2018携程实习

    携程

    移动数组里的0

    给定一个整型数组,将数组中的所有0移动到末尾,非0项保持顺序不变。(在原始数组上进行操作)

    输入

    第一行是数组的长度
    后续每一行是数组的一条记录

    输出

    调整后的数组内容

    solution:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int num, i, j, k;
        int *p;
        int tmp;
    
        scanf("%d", &num);
        p = (int *)malloc(num*sizeof(int));
        for(i = 0, j = 0, k = num-1; i<num; i++) {
            scanf("%d", &tmp);
            if(tmp != 0) {
                p[j++] = tmp;
            } else {
                p[k--] = tmp;
            }
        }
    
        for(i = 0; i<num; i++) {
            printf("%d ", p[i]);
        }
        printf("
    ");
    
        return 0;
    }
    

    result:

    4
    0
    7
    0
    2
    7 2 0 0
    
    Press any key to continue.

    二维数组旋转

    题目

    给定一个N*N的矩阵,将该矩阵顺时针旋转90度

    输入

    一个N*N二维数组

    输出

    将输入的二维数组顺时针旋转90度

    solution:

    #include <stdio.h>
    #include <stdlib.h>
    
    int getline_(char s[],int lim){
        int c,i;
        i=0;
        while((c=getchar())!=EOF&&c!='
    '&&i<lim-1)
            s[i++]=c;
        s[i]='';
        return i;
    }
    int main(int argc, char **argv)
    {
        int N = 0;
        int i, j=0, k, i0;
        char p[100];
        int *p1, *p2;
    
        i = i0 = getline_(p,100);
        for(;i0>=0;i0--) {
            if(p[i0]>='0' && p[i0]<='9') {
                N++;
            }
        }
        p1 = (int *)malloc(N*N*sizeof(int));
        p2 = (int *)malloc(N*N*sizeof(int));
    
        for(j = 0,k = 0;k<i;k++) {
            if(p[k]>='0' && p[k]<='9') {
                p1[j++] = (int)p[k]-'0';            
            }
        }
    
        for(i = N; i<N*N; i++) {
            scanf("%d", p1+i);
        }
    
        for(i = 0; i<N*N; i++) {
            //顺时针旋转90度:p[i][j]=p[j][N-1-i] ,i从0开始
            p2[i%N*N+N-1-i/N] = p1[i];
        }
        for(i = 0; i<N*N; i++) {
            if(i%N == 0){
                printf("
    ");
            }
            printf("%d ", p2[i]);
        }
    
        return 0;
    
    }
    

    result:

    1 4 7
    2 5 8
    3 6 9
    
    3 2 1
    6 5 4
    9 8 7
    Press any key to continue.

    搜索符合用户需求且价格最低的房型

  • 相关阅读:
    Go语言版本的helloworld
    编译Elasticsearch源码
    Intellij IDEA将java源码打成jar包
    搭建Elasticsearch集群常见问题
    棣小天儿的第一个python程序
    Json反序列化Map的key不能是Object
    mac本配置python环境
    Timestamp解析0000-00-00 00:00:00报格式错误
    Spring-Mybatis配置多数据源
    mysql新建数据库时的collation选择(转)
  • 原文地址:https://www.cnblogs.com/born2run/p/9581354.html
Copyright © 2011-2022 走看看