A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© YKS 中级黑马   /  2014-7-22 18:00  /  5802 人查看  /  16 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

身份证的前4位代表省份和地区(例如4201代表湖北省武汉市),最后一位代表性别(1或3代表男性)。
编写一个OC程序,通过身份证号码判断某人是否是武汉人及其性别。
求助!!

16 个回复

倒序浏览
截取字符串判断
回复 使用道具 举报

:(
知道大概的方向,但是一写,左看又看,像是C语言写出来的
回复 使用道具 举报
//身份证的前4位代表省份和地区(例如4201代表湖北省武汉市),最后一位代表性别(1或3代表男性)
//编写一个OC程序,通过身份证号码判断某人是否是武汉人及其性别
  • #import<Foundation/Foundation.h>

    int main()
    {
        NSString *num = [NSString stringWithFormat:@"420123199206262871"];  //创建字符串

        NSMutableString *num2 = [[NSMutableString alloc] init];  //定义一个新的字符串来装num得前四位

        NSString *num4 = @"4201";

        NSString *num5 = @"1";

        NSString *num6 = @"3";

        for (int i = 0; i < 4; i++)  //遍历
        {
            char c = [num characterAtIndex:i];  //取出字符串前四位

            NSMutableString *num3 = [NSMutableString stringWithFormat:@"%c",c];

            [num2 appendString:num3];        //将钱四位装进num2
        }

       BOOL b = [num2 isEqualToString:num4];   //比较与4201是不是一样的

        if (b == 1)
        {
            NSLog(@"是武汉!");
        }
        else
            NSLog(@"不是武汉");

        char c = [num characterAtIndex:17];  //取出身份证最后一位

        NSString *s = [NSString stringWithFormat:@"%c",c];
        BOOL d = [s isEqualToString:num5];

        BOOL e = [s isEqualToString:num6];

        if(d == 1 || e == 1)
        {
            NSLog(@"男");
        }

        else
            NSLog(@"不是男");


        return 0;

    }

回复 使用道具 举报
★Joean_Zhou 发表于 2014-7-23 10:45
//身份证的前4位代表省份和地区(例如4201代表湖北省武汉市),最后一位代表性别(1或3代表男性)//编写一 ...

好厉害,为啥我一写,就写到C语言上面去了
回复 使用道具 举报
擦啊,你不复习两天,直接上考试啊
回复 使用道具 举报
YKS 中级黑马 2014-7-23 17:10:58
7#
曹雨 发表于 2014-7-23 15:23
擦啊,你不复习两天,直接上考试啊

哪有时间啊,只能边做题边复习了
回复 使用道具 举报
曹雨 中级黑马 2014-7-23 17:35:50
8#
八月前面试不就可以?
回复 使用道具 举报
  1. #import <Foundation/Foundation.h>
  2. #include <stdio.h>

  3. int main() {
  4.     NSString *personID = @"420100199002043241";
  5.    
  6.     if ([personID hasPrefix:@"4201"]) {
  7.         NSLog(@"这个家伙是武汉人。");
  8.     }else{
  9.         NSLog(@"这家伙不是武汉人。");
  10.     }
  11.    
  12.     if ([personID hasSuffix:@"1"] || [personID hasSuffix:@"3"]) {
  13.         NSLog(@"他是个男生。");
  14.     }else{
  15.         NSLog(@"她是个女生。");
  16.     }
  17.    
  18.     return 0;
  19. }
复制代码


我觉得用OC应该这么写。
板凳那位写的跟C语言有什么区别。
回复 使用道具 举报 1 0
这难道就是入学测试题吗?
回复 使用道具 举报
YKS 中级黑马 2014-7-23 19:26:20
11#
小海 发表于 2014-7-23 17:58
这难道就是入学测试题吗?

是的,感觉有点难啊
回复 使用道具 举报
考试题的话就不要在论坛出现了,这个后果很严重,要扣分的,回帖的也注意了,如果被多次屏蔽也会扣分。
回复 使用道具 举报
哥们 你是ios2期的吗?  现在怎么样
回复 使用道具 举报
好麻烦 直到理论,就是不知道咋写
回复 使用道具 举报
学习讨教
回复 使用道具 举报
支持一下
回复 使用道具 举报
呵呵,我也有这个想法,想的更多,做做刚刚完成代码。 http://bbs.itheima.com/forum.php ... &extra=page%3D1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马