Lottery Ticket(C語言CodeWars)

解題思路:

(1)注意這裏是兩個結構體

(2)依次訪問,判斷是否存在相等

(3)看了別人的解題方法,原來還有一個strchr函數!!!

#include <stdio.h>
#include <stdlib.h>

typedef struct mini_win_t {
    char    *letters;
    unsigned code;
} MiniWin;

typedef struct ticket_t {
    MiniWin *mini_wins;
    unsigned count;
} Ticket;

const char *bingo(const Ticket *ticket, unsigned win) {
  MiniWin *head = ticket->mini_wins;
  unsigned count = ticket->count,i = 0,code;
  unsigned number = 0;
  char *p = NULL;
  while(i<count) {
    p = head->letters;
    code = head->code;
    while(*p!='\0') {
      if((unsigned)*p==code) {
        number++;
        break;
      } else p++;
    }
    i++;
    head++;
  }
  if(number>=win) return "Winner!";
  else return "Loser!"; 
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章