Итак, я пишу код для битовой заливки на языке 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;
}