Мне нужно получить число цифр, содержащее число 1. Я знаю, что в java я могу принять ввод как String и использовать charAt, но я понимаю, что в C. нет неявной функции String. Как можно Я достигну этого?
String
charAt
int count_digit(int nr, int digit) { int count=0; while(nr>0) { if(nr%10==digit) count++; nr=nr/10; } return count; }
Что-то вроде:
int val=11031; int count=0; int i=0; char buf[100]; sprint(buf, "%d", val); for(i=0; (i < sizeof(buf)) && (buf[i]); i++) { if(buf[i] == '1') count++; }