Как определить конкретные цифры целочисленного ввода в C? - PullRequest
0 голосов
/ 15 сентября 2008

Мне нужно получить число цифр, содержащее число 1. Я знаю, что в java я могу принять ввод как String и использовать charAt, но я понимаю, что в C. нет неявной функции String. Как можно Я достигну этого?

Ответы [ 12 ]

0 голосов
/ 15 сентября 2008
int count_digit(int nr, int digit) {
    int count=0;
    while(nr>0) {
      if(nr%10==digit)
        count++;
      nr=nr/10;
    }
    return count;
}
0 голосов
/ 15 сентября 2008

Что-то вроде:

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++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...