2018届秋招提前批阿里在线编程

xiaoxiao2021-02-28  122

/* 幼儿园有10个小朋友,把1 – 20中所有奇数数字的卡片分别发给这10个小朋友。 集合的时候小朋友们排成一排,组成一个由数字组成的字符串,如59731315….11917, 但是老师发现少了一个小朋友,你能帮忙找出少掉的那个小朋友吗? 1 3 5 7 9 11 13 15 17 19 // 1 7 // 3 2 // 5 2 // 7 2 // 9 2 思路:遍历字符串,统计出1 3 5 7 9的个数; 判断1 3 5 7 9 出现的个数。 */ #include <iostream> int findBoy(char* arr) { int num_1 = 0; int num_3 = 0; int num_5 = 0; int num_7 = 0; int num_9 = 0; int result = -1; char* cur = arr; while (*cur != '\0') { int num = *cur - '0'; if (num == 1) { ++num_1; } else if (num == 3) { ++num_3; } else if (num == 5) { ++num_5; } else if (num == 7) { ++num_7; } else if (num == 9) { ++num_9; } ++cur; } if (num_1 == 6) {//少了一个1 if (num_3 == 1) { result = 13; } else if (num_5 == 1) { result = 15; } else if (num_7 == 1) { result = 17; } else if (num_9 == 1) { result = 19; }else{ result = 1; } } else if (num_1 == 5) {//11 result = 11; } else if (num_3 == 1) {//3 result = 3; } else if (num_5 == 1) { result = 5; } else if (num_7 == 1) { result = 7; } else if (num_9 == 1) { result = 9; } return result; } void main() { std::cout << findBoy("15971913151117"); std::cin.get(); }
转载请注明原文地址: https://www.6miu.com/read-64784.html

最新回复(0)