Как сделать целочисленное деление long int в c? - PullRequest
0 голосов
/ 07 марта 2019

Итак, я пишу код для битовой заливки на языке C. Что я пытаюсь сделать, это взять ввод от пользователя, продолжать делить число, чтобы получить каждую цифру, используя оператор «%». Это работает до тех пор, пока нет находится в диапазоне Int. Если я использую тип long int, код больше не работает в основном потому, что "n / 10" больше не является целым числом. Так как мне сделать целочисленное деление переменной типа long int. В python "//" используется для работы для этого. Что-нибудь подобное в C? И я не хочу использовать массив, потому что в этом случае пользователь должен вводить одну цифру за раз. Вот мой код для справки. Спасибо

#include <stdio.h>
int main(){
    int c,n,m,bit[200]={0,1,1,1,1,1,1,0},x=7,count=0,ch=0;

    do{
        printf("Enter No:\n");
        scanf("%d",&n);
        m=n;
        while(m>0){
            c=m%10;
            m=m/10;
            if(c==1){
                count++;
            }
            else if(c==0){
                count=0;
            }
            else if(c>1 && c<10){
                printf("Invalid  Pattern.Enter Either 1 or 0.\n");
                ch=1;
                break;
            }
            ch=0;
            x++;
            bit[x]=c;
            if(count==5){x++;bit[x]=0;count=0;}
        }

    }while(ch==1);

    x++;
    bit[x]=0;
    for(int i=0;i<=5;i++){
        x++;
        bit[x]=1;
    }
    x++;
    bit[x]=0;
    for(int i=0;i<=x;i++){
        printf("%d",bit[i]);
    }
    return 0;
}
...