iOS 打印每个单词的长度

本文展示了一个使用C语言计算字符串数组中每个元素长度的简单示例,并通过NSLog打印输出了每个字符串及其对应的长度。

#import <Foundation/Foundation.h>


int main(int argc,const char * argv[]) {

    @autoreleasepool {


         constchar *words[4]={"zhangsan","lisi","wangwu","zhaoliu"};

        

        int wordcount=4;


        for (int i=0; i<=wordcount; i++) {

            

            NSLog(@"%s %lu字符长度",words[i],strlen(words[i]));

        }

        

    }

    return0;

}


2017-06-26 22:29:59.957292+0800 test1[40038:15502666] zhangsan 8字符长度

2017-06-26 22:29:59.958072+0800 test1[40038:15502666] lisi 4字符长度

2017-06-26 22:29:59.958099+0800 test1[40038:15502666] wangwu 6字符长度

2017-06-26 22:29:59.958117+0800 test1[40038:15502666] zhaoliu 7字符长度

2017-06-26 22:29:59.958133+0800 test1[40038:15502666]  0字符长度

Program ended with exit code: 0



一个数据库包含N个单词。 在数据库中搜索查询词W的算法是原始的。它会将W一个接一个地与数据库中的每个单词进行比较。将两个单词逐个字母进行比较,直到找到它们不同的字母,或直到到达其中一个单词的末尾(然后确定两个单词相等或一个比另一个长)。当算法在数据库中找到单词W时,它终止。 对算法的分析表明,找到一个单词W所需的步骤数等于所比较的单词W的数量,加上最长的常用前缀W的长度和所比较的每个单词长度之和。 编写一个程序,计算算法用于查找每个Q查询词的步数。 输入格式: 第一行包含一个整数N(1≤N≤30000),数据库中的字数。 以下N行中的每一行都包含数据库中的一个单词。这些词是按照算法将它们与查询词进行比较的顺序给出的。数据库中的所有单词都是不同的。 下一行包含一个整数Q(1≤Q≤30000),搜索的字数。 以下每一行都包含一个查询词。 输入中的所有单词都将是少于30个英文字母的字符串。 输出格式: 对于每个查询词,每行输出一个整数,即算法搜索该词时使用的步骤数。 输入样例1: 5 hobotnica robot hobi hobit robi 4 robi hobi hobit rakija 输出样例1: 12 10 16 7 输入样例2: 8 majmunica majmun majka malina malinska malo maleni malesnica 3 krampus malnar majmun 输出样例2: 8 29 14 在第二个例子中,搜索单词“krampus”的步骤是8步,因为算法只需要将其第一个字母与数据库中的每个单词进行比较。 搜索单词“malnar”时,前三个单词需要三个步骤,其余五个单词需要四个步骤,总共需要29个步骤。 为了找到“majmun”这个词,我们总共使用了14个步骤。对于数据库中的第一个单词,我们进行了六次成功的比较,其中一个步骤是确定单词“majmunica”比查询单词长。对于第二个词,我们还有六个成功的比较,以及最后一步,在这一步中,我们确定了两个词是相等的。找到单词后,算法非常高兴地终止 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 栈限制 8192 KB
最新发布
06-13
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我先来一碗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值