iOS 算法面试题(打印2-100之间的素数、求两个整数的最大公约数、查找字符串的位置)~demo

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄


一、打印2-100之间的素数。

    [cpp] view plain copy

    int main(int argc,constchar * argv[]) {

        for (int i =2; i <100; i++) {

            int r = isPrime(i);

            if (r ==1) {

                printf("%ld ", i);

            }

        }

        return0;

    }

    

    int isPrime(int n){

        int i, s;

        for(i =2; i <= sqrt(n); i++)

            if(n % i ==0return0;

        return1;

    }


二、求两个整数的最大公约数


    [cpp] view plain copy

    int gcd(int a,int b) {

        int temp =0;

        if (a < b) {

            temp = a;

            a = b;

            b = temp;

        }

        while (b !=0) {

            temp = a % b;

            a = b;

            b = temp;

        }

        return a;

    }


三、查找字符串的位置

1、给定一个字符串,输出本字符串中只出现一次并且最靠前的那个字符的位置?如“abaccddeeef”,字符是b,输出应该是2


char *strOutPut(char *);

int compareDifferentChar(char,char *);

int main(int argc,constchar * argv[]) {

    

    char *inputStr ="abaccddeeef"

    char *outputStr =strOutPut(inputStr);

    printf("%c \n", *outputStr);

    return0;

}


char *strOutPut(char *s) {

    

    char str[100];

    char *p = s;

    int index =0;

    while (*s !='\0') {

        

        if (compareDifferentChar(*s, p) ==1) {

            str[index] = *s;

            index++;

        }

        s++;

    }

    return &str;

}


int compareDifferentChar(char c,char *s) {

    

    int i =0;

    

    while (*s !='\0' && i<=1) {

        

        if (*s == c) {

            i++;

        }

        s++;

    }

    

    if (i ==1) {

        

        return1;

        

    } else {

        

        return0;

        

    }


谢谢!!!




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值