代码:

#import <Foundation/Foundation.h>

static NSString * const kName = @"name";
static NSString * const kAge = @"age";
static NSString * const kGender = @"gender"; inline static NSMutableDictionary *CreateDict(NSString *name, NSInteger age, BOOL isMale){
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithDictionary:@{kName:name,kAge :@(age),kGender :@(isMale)}];
return dict;
} NSString *maleFemale(id sex){
if([sex isEqual:@YES]){
return @"男性";
}
else{
return @"女性";
}
} int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *array = @[CreateDict(@"王思聪", , YES),
CreateDict(@"范冰冰", , NO),
CreateDict(@"马云", , YES),
CreateDict(@"霍建华", , YES),
CreateDict(@"赵丽颖", , NO)];
//第1题 请按照年龄的升序排序输出,输出样式为:王思聪,男性,今年27岁
NSSortDescriptor *sortWithAge=[[NSSortDescriptor alloc]initWithKey:kAge ascending:YES];
NSArray *eleSort=[NSArray arrayWithObjects:sortWithAge,nil];
NSArray *sortArr=[array sortedArrayUsingDescriptors:eleSort];
for(NSDictionary *dic in sortArr){
NSLog(@"%@,%@,今年%@岁",dic[@"name"],maleFemale(dic[kGender]),dic[@"age"]);
}
//第2题 请输入女性信息,输出样式为:范冰冰大美女,今年35岁
for(NSDictionary *dic1 in sortArr){
if([dic1[kGender] isEqual:@NO]){
NSLog(@"%@大美女,今年%@岁",dic1[kName],dic1[kAge]);
}
}
//第3题 请将“马云”的年龄改为41岁
NSMutableArray *mutArr=[NSMutableArray arrayWithArray:array];
for(NSDictionary *dic in mutArr) {
if([dic[kName] isEqualToString:@"马云"]){
[dic setValue:@"" forKey:kAge];
}
}
for(NSDictionary *dic2 in sortArr){
NSLog(@"%@,%@,%@",dic2[kName],maleFemale(dic2[kGender]),dic2[kAge]);
}
}
return ;
}

[示例]NSDictionary编程题-字典的排序应用(iOS6班)的更多相关文章

  1. [示例]NSDictionary编程题-字典的排序应用(iOS5班)

    代码? #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepo ...

  2. [示例]NSDictionary编程题-字典的排序应用(iOS7班)

    代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepo ...

  3. [示例]NSDictionary编程题-字典的排序应用(iOS4班)

    代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepo ...

  4. 转载:2017百度春季实习生五道编程题[全AC]

    装载至:https://blog.csdn.net/zmdsjtu/article/details/70880761 1[编程题]买帽子 时间限制:1秒空间限制:32768K度度熊想去商场买一顶帽子, ...

  5. C算法编程题(一)扑克牌发牌

    前言 上周写<我的编程开始(C)>这篇文章的时候,说过有时间的话会写些算法编程的题目,可能是这两天周末过的太舒适了,忘记写了.下班了,还没回去,闲来无事就写下吧. 因为写C++的编程题和其 ...

  6. 网易2018校招内推编程题-堆棋子-C++实现

    链接:https://www.nowcoder.com/questionTerminal/27f3672f17f94a289f3de86b69f8a25b来源:牛客网 [编程题]堆棋子 热度指数:14 ...

  7. C/C++笔试题(编程题)

    面试过程中遇到的编程题整理,于此备录.分享,共勉.(持续更新中......欢迎补充) (1)用户输入M, N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出.写出C程序. 程序代码如下: ...

  8. JS编程题练习

    JS编程题练习 1. 两个数组合并成一个数组排序返回 先依次比较两个数组,按照小的就传入新的数组.当这次比较完之后可能有一个数组的长度很长,留下一些数组,然后在新数组的末尾插入即可. function ...

  9. C算法编程题(五)“E”的变换

    前言 上一篇<C算法编程题(四)上三角> 插几句话,说说最近自己的状态,人家都说程序员经常失眠什么的,但是这几个月来,我从没有失眠过,当然是过了分手那段时期.每天的工作很忙,一个任务接一个 ...

随机推荐

  1. CentOS6.4_常用命令

    1. 查看本机是否安装了 xxx软件,以及 xxx软件 的版本信息等: rpm -qa |grep  xxx(xxx代表软件名) 2. rpm -ivh 要安装的rpm文件包 3. 不care依赖项的 ...

  2. SQL 调优专题总结

    oracle 的优化器: oracle 有两种优化器:基于规则的优化器(rbo/rule based optimizer)和基于代价的优化器(cbo/cost based optimizer). 有时 ...

  3. 使用Nexus搭建Maven私服

    1.    环境搭建 1.1  下载 http://www.sonatype.org/nexus/ NEXUS OSS [OSS = Open Source Software,开源软件--免费] NE ...

  4. C++——string类和标准模板库

    一.string类 1.构造函数 string实际上是basic_string<char>的一个typedef,同时省略了与内存管理相关的参数.size_type是一个依赖于实现的整型,是 ...

  5. oracle中between

    oracle中between and包含边界值,也就是所谓的闭区间. 如 between 1 and 100,则表示包含1和100及以内的一切数值. 如以下语句: 1 2 3 4 5 6 7 8 9 ...

  6. python 打包与部署

    环境:win10.eclipse-jee-mars.python2.7 打包在linux上进行安装测试 1.1 打包 项目目录结构如下: 打包对象:utils.reg 在P1项目的顶级目录,也就是ut ...

  7. java集合和scala集合互转

    使用 scala.collection.JavaConverters 与Java集合交互.它有一系列的隐式转换,添加了asJava和asScala的转换方法.使用它们这些方法确保转换是显式的,有助于阅 ...

  8. 每日一笔记之3:QTconnect()

    刚学习QT的时候,跟着教程做一些简答的实验,教程简单的界面使用UI文件,直接在界面上拖一个按键,在右键go to slot,在编写槽函数. 我以前没学过C++,一直以为这个自动跳转过去的slot函数是 ...

  9. hiho_1058_combination_lock

    题目大意 给定N个字符,范围为A-Z,编号为1-N,对该字符序列进行M个操作,操作有4中类型: (1)CMD 1 i j X     将[i, j]区间内的字符均变为X (2)CMD 2 i j K  ...

  10. shelve模块

    #coding:utf-8 __author__ = 'similarface' #email:similarface@outlook.com ''' shelve模块: 映射容器 存储对象,被存储的 ...