
一、前言
这里整理了一些在iOS求职中常见的算法题目,希望能帮助到大家。这些题目会不定期更新,如果大家想在线运行代码进行调试,可以将代码复制到这里进行尝试。
二、正文
1. 计算n的阶乘
解题思路:使用递归实现
代码如下:
c
include
int getNJ(int n) {
if (n等于1或0) {
返回1;
}
返回 n 乘以 getNJ(n-1);
int main() {
printf(“%d”, getNJ(10));
返回0;
2. 判断字符串是否为IP地址
解题思路:先将字符串分割成数字数组和字符数组,然后判断数字数组是否满足IP条件,字符数组中是否只包含”.”。主要使用sscanf函数。
代码如下:
c
include
int checkIP(const char p) {
int数组 n[4]; // 用于存储IP地址中的数字
字符数组 c[4]; // 用于存储IP地址中的”.”符号
如果 sscanf(p, 格式字符串) 等于 7(表示成功读取四个数字和三个”.”):
对于 i 从 0 到 3:
如果 c[i] 不等于 ‘.’,则返回 0(表示不是合法的IP地址)
如果 n[i] 不在 0 到 255 的范围内,也返回 0(表示不是合法的IP地址)
返回 1(表示是合法的IP地址)
否则:
返回 0(表示不是合法的IP地址)
int main() {
字符串数组 x = {“132.168.1.1”, “10.0.0.1.”, “127.256.0.1”, “iudfdsfdasfdaf”, “172.16,2.1”}; // 测试IP地址数组
字符串数组 m = {“不是合法的IP地址”, “是合法的IP地址”}; // 结果标识数组
整数 i = 0; // 用于循环遍历测试IP地址数组的索引变量
当 x[i] 不等于 0 时(即未遍历完所有测试IP地址):
