iOS面試中常見的演算法題目,iOS面試常見演算法

來源:互聯網
上載者:User

iOS面試中常見的演算法題目,iOS面試常見演算法

一、前言

  這裡是在iOS求職中自己遇到的演算法題,希望對大家有所協助。不定期更新。如果大家想線上運行代碼調試,可以將代碼拷貝到這裡。然後進行調試。下面就是常見的演算法題目。

二、本文

1、就n的階乘。

 思路:這裡面用遞迴實現

#include <stdio.h>int getNJ(int n) {    if (n==1 || n==0) {        return 1;    }    return n*getNJ(n-1);}int main() {    printf("%d",getNJ(10));    return 0;}

運行結果如下:

3628800

 

2、判斷一個字串是否是ip。

 思路:先將字串分割到兩個數組裡面(一個數字數組,一個字元數組),然後判斷數字數組內容是否滿足ip條件,字元數組裡面是否是"."。這裡面主要用了sscanf函數。代碼如下:

#include <stdio.h>int checkIP(const char *p) {    int n[4];    char c[4];    if (sscanf(p,"%d%c%d%c%d%c%d%c",&n[0],&c[0],&n[1],&c[1],&n[2],&c[2],&n[3],&c[3])==7) {        int i;        for (i=0;i<3;i++) {            if(c[i]!='.') {                return 0;            }            }        for (i=0;i<4;i++) {            if (n[i]>255||n[i]<0) {                return 0;            }        }        return 1;            }else {        return 0;    }}int main() {     const char *x[] =     {        "132.168.1.1",        "10.0.0.1.",        "127.256.0.1",        "iudfdsfdasfdaf",        "172.16,2.1"    };    const char *m[] =     {        "不是合法的IP地址",         "是合法的IP地址"    };    int i=0;    while(x[i]!=0) {        printf("%s %s\n",x[i],m[checkIP(x[i])]);        i++;    }    return 0;    return 0;}

運行結果如下:

132.168.1.1 是合法的IP地址10.0.0.1. 不是合法的IP地址127.256.0.1 不是合法的IP地址iudfdsfdasfdaf 不是合法的IP地址172.16,2.1 不是合法的IP地址

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.