黑马程序员技术交流社区

标题: 中华人民共和国公民身份证号码组成规则是前4位是代表省... [打印本页]

作者: huh    时间: 2016-1-1 15:13
标题: 中华人民共和国公民身份证号码组成规则是前4位是代表省...

  1. /*
  2. main.m
  3. 中华人民共和国公民身份证号码组成规则是前4位是代表省份和地区(例如4201代表湖北省武汉市),最后一位代表性别(1或3代表男性)。编写一个程序,通过身份证号码判断某人是否是武汉人以及其性别
  4. 分析:
  5. 1)控制它输入18位字符,用个可变字符来接收
  6. 2)截取前4位和最后一位,进行判断
  7. 3)打印输出结果
  8. */
  9. #import <Foundation/Foundation.h>

  10. int main(int argc, const char * argv[]) {
  11.     @autoreleasepool {
  12.         NSLog(@"请输入18位的身份证号码!\n");
  13.         char ch[100];
  14.         gets(ch);
  15.         
  16.         //定义个可变字符串
  17.         NSMutableString * str=[NSMutableString stringWithFormat:@"%s",ch];
  18.         NSMutableString * returnStr=[NSMutableString stringWithFormat:@"%s"];
  19.         //截取前4位
  20.         //substringWithRange: 专门截取字符串的一块肉
  21.         //NSMakeRange(0,4)    从第0个字符开始截取,长度为4个字符
  22.         NSString *location = [str substringWithRange:NSMakeRange(0, 4)];
  23.         
  24.         //截取最后一位
  25.         //substringFromIndex 字符串从第n位开始截取,直到最后!(不包含第n位)
  26.         NSString *sex = [str substringFromIndex:17];
  27.         //isEqualToString比较两个字符串是否一样 一样的时候返回YES==1,
  28.         //如果不一样:返回FALSE==0 :严格区分大小写
  29.         //appendString 在returnStr 后面追加字符
  30.         if ([location  isEqualToString:@"4201"] ) {
  31.             [returnStr appendString:@"家住地址:武汉人 "];
  32.         }else{
  33.             [returnStr appendString:@"家住地址:不是武汉人"];
  34.         }
  35.         if([sex isEqualToString:@"1"]||[sex isEqualToString:@"9"]){
  36.             [returnStr appendString:@"性别:男"];
  37.         }else{
  38.             [returnStr appendString:@"性别:女"];
  39.         }
  40.         
  41.         NSLog(@"%@",returnStr);
  42.     }
  43.     return 0;
  44. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2