zoukankan      html  css  js  c++  java
  • PAT Basic Level 1031

    AC代码

      1 #include <stdio.h> 
      2 int main ()
      3 {
      4     int amount;
      5     scanf("%d",&amount);
      6     char input[19];
      7     char ret;
      8     int judge = 0 ;       //判断是否为ALL PASSED ,是的话为0; 
      9     while(amount > 0)
     10     {
     11         scanf("%s",&input);
     12         amount--;
     13         int i;
     14         int sum = 0;
     15         int temp;
     16         for(i = 0;i < 17;i++)          //先检查前17位是否全为数字 若非数字直接跳出循环 
     17         {
     18             if(input[i] < '0' || input[i] > '9')
     19             break;
     20         }
     21         if(i < 17)                    //i = 17即代表前17都是数字 
     22         {
     23             printf("%s",input);
     24             printf("
    ");
     25             judge = 1;
     26             continue;                    //身份证号出错,直接输出并开始下一轮输入 
     27         }else
     28         if(i == 17)                 //前17位全为数字则开始检查校验码 
     29         {
     30             for(i = 0;i < 17;i++)
     31             {
     32                 switch(i)
     33                 {
     34                     case 0:sum += 7 * (input[i] - '0');
     35                     break;
     36                     case 1:sum += 9 * (input[i] - '0');
     37                     break;
     38                     case 2:sum += 10 * (input[i] - '0');
     39                     break;
     40                     case 3:sum += 5 * (input[i] - '0');
     41                     break;
     42                     case 4:sum += 8 * (input[i] - '0');
     43                     break;
     44                     case 5:sum += 4 * (input[i] - '0');
     45                     break;
     46                     case 6:sum += 2 * (input[i] - '0');
     47                     break;
     48                     case 7:sum += 1 * (input[i] - '0');
     49                     break;
     50                     case 8:sum += 6 * (input[i] - '0');
     51                     break;
     52                     case 9:sum += 3 * (input[i] - '0');
     53                     break;
     54                     case 10:sum += 7 * (input[i] - '0');
     55                     break;
     56                     case 11:sum += 9 * (input[i] - '0');
     57                     break;
     58                     case 12:sum += 10 * (input[i] - '0');
     59                     break;
     60                     case 13:sum += 5 * (input[i] - '0');
     61                     break;
     62                     case 14:sum += 8 * (input[i] - '0');
     63                     break;
     64                     case 15:sum += 4 * (input[i] - '0');
     65                     break;
     66                     case 16:sum += 2 * (input[i] - '0');
     67                     break;
     68                 }
     69             }
     70             temp = sum % 11;
     71             switch(temp)
     72             {
     73                 case 0:ret = '1';
     74                 break;
     75                 case 1:ret = '0';
     76                 break;
     77                 case 2:ret = 'X';
     78                 break;
     79                 case 3:ret = '9';
     80                 break;
     81                 case 4:ret = '8';
     82                 break;
     83                 case 5:ret = '7';
     84                 break;
     85                 case 6:ret = '6';
     86                 break;
     87                 case 7:ret = '5';
     88                 break;
     89                 case 8:ret = '4';
     90                 break;
     91                 case 9:ret = '3';
     92                 break;
     93                 case 10:ret = '2';
     94                 break;
     95             }
     96             if(input[17] == ret)
     97             continue;
     98             else
     99             {
    100                 printf("%s",input);
    101                 printf("
    ");
    102                 judge = 1;
    103             }
    104         }
    105     }
    106     if(judge == 0)
    107     {
    108         printf("All passed");
    109     }
    110     return 0;
    111 }
  • 相关阅读:
    js获取cookie
    js 获取父页元素
    【HDU4571 Travel in time】二维多状态spfa
    【HDU4360】 最短路变形
    百度人脸识别模块使用分享
    APICloud · 跨越2018,技术改变世界
    Android平台targetSdkVersion设置及动态权限
    UIPullRefreshFlash模块demo示例
    webToImage (网页转图片)模块试用分享
    生成带二维码图片并通过微信分享
  • 原文地址:https://www.cnblogs.com/Ponytai1/p/5976544.html
Copyright © 2011-2022 走看看