當前位置:首頁 » 編程語言 » c語言寫a除以b
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言寫a除以b

發布時間: 2022-07-09 03:11:58

『壹』 c語言中除法怎麼表示

a/b
表示a除以b,但是需要注意,當a、b均為整形時,運算為求出不大於商的最大整數,如10/7
=
1,5/2
=
2,
13
/
4
=
3
相對應,a%b表示求a除以b的余數
如果要實數除法,需要轉換操作數為浮點型

『貳』 C語言 !(a%b)什麼意思

(a%b)是數學模運算,意思是取(a/b)的余數。a除以b的結果有兩部分,一個是商,一個是余數,就跟我們做除法一樣。計算機一般作整數除法a/b只能得到商,余數就用a%b得到,它是0到b-1中的一個值。如果a/b能整除,a%b就是0。
!(a%b)是邏輯運算,只有a%b是0時為真(就當是1吧),a%b不為0時為假(就當是0吧)。
int a=30,b=8,a/b商為3,餘6,所以a%b=6,!(a%b)為假,列印結果是0。

『叄』 C語言 A除以B

scanf("%s%d",&a,&c);=》scanf("%s%d",a,&c);


//m=strlen(b); 的前一行加一句b[n]='0';


還有就是字元串」123「里數字不能和int直接比較,方法見下。



#include<stdio.h>
#include<string.h>
intmain(){
chara[1000],b[1000];
intc,d;
scanf("%s%d",a,&c);
inti;
d=0;
inttmp;
for(i=0;a[i]!='';i++){
tmp=d*10+a[i]-'0';
b[i]=tmp/c+'0';
d=tmp%c;
}
b[i]='';
printf("%s%d ",b,d);

//下面是去掉前導零
i=0;
while(b[i]=='0')i++;
intj;
for(j=0;b[i]!='';j++,i++)
b[j]=b[i];
b[j]='';
printf("%s%d ",b,d);
return0;
}

『肆』 C語言中a/b%c啥意思

C語言中a/b%c,必須要a,b,c三個變數都是整數類型,他的意思就是先把a除以b,只保留得到商的整數部分,如果有小數就把它丟掉。然後把得到的商再除以c,取整數除法的余數。如果除以c正好整除,那麼就是余數為0,也就是整個表達式的值等於0。

『伍』 c語言計算a/b

#include<stdio.h>
intmain()
{
inta,b,c;//定義三個整形變數
a=100;//100我隨便寫的,200,300都行
b=30;//同上
c=a/b;//然後就這樣,如果想輸出C的值的話,再寫一句printfji就行了
printf("c=%d ",c);
return0;
}

『陸』 c語言里,a/b什麼意思

如果a和b都是整型,就是a除以b的商的整數部分,如果a,b至少有一個是實型(小數),就是數學里的a除以b

『柒』 大數A除以B C語言編程

#include <stdio.h>
#define MAXINT 1000
int compare(int a[],int b[]);
int bigplus(int a[],int b[],int c[]);
int bigsub(int a[],int b[],int c[]);
int bigmult(int a[],unsigned int b,int c[]);
int bigmult2(int a[],int b[],int c[]);
int bigdiv(int a[],unsigned int b,int c[],int *d);
int bigdiv2(int a[],int b[],int c[],int d[]);
int main(int argc, char *argv[])
{
int a[MAXINT]={10,5,4,6,5,4,3,2,1,1,1}; //被乘數或被除數
int b[MAXINT]={7,7,6,5,4,3,2,1}; //乘數或除數
int c[MAXINT],d[MAXINT]; //c[]存放商,d[]存放余數
int div=1234; //小乘數或小除數
int k=0;
int *res=&k; //小余數整數指針
bigplus(a,b,c);
bigsub(a,b,c);
bigmult(a,div,c);
bigmult2(a,b,c);
bigdiv(a,div,c,res);
bigdiv2(a,b,c,d);
getchar();
return 0;
}
int compare(int a[],int b[]) //比較大整數的大小
{
int i;
if (a[0]>b[0]) return 1; //比較a,b的位數確定返回值
else if (a[0]<b[0]) return -1;
else //位數相等時的比較
{
i=a[0];
while (a[i]==b[i]) //逐位比較
i--;
if (i==0) return 0;
else if (a[i]>b[i]) return 1;
else return -1;
}
}
int bigplus(int a[],int b[],int c[]) //大整數加法
{
int i,len;
len=(a[0]>b[0]?a[0]:b[0]); //a[0] b[0]保存數組長度,len為較長的一個
for(i=0;i<MAXINT;i++) //將數組清0
c[i]=0;
for (i=1;i<=len;i++) //計算每一位的值
{
c[i]+=(a[i]+b[i]);
if (c[i]>=10)
{
c[i]-=10; //大於10的取個位
c[i+1]++; //高位加1
}
}
if (c[i+1]>0) len++;
c[0]=len; //c[0]保存結果數組實際長度
printf("Big integers add: ";
for (i=len;i>=1;i--)
printf("%d",c[i]); //列印結果
printf("\n";
return 0;
}
int bigsub(int a[],int b[],int c[]) //大整數減法
{
int i,len;
len=(a[0]>b[0]?a[0]:b[0]); //a[0]保存數字長度,len為較長的一個
for(i=0;i<MAXINT;i++) //將數組清0
c[i]=0;
if (compare(a,b)==0) //比較a,b大小
{
printf("Result:0";
return 0;
}
else if (compare(a,b)>0)
for (i=1;i<=len;i++) //計算每一位的值
{
c[i]+=(a[i]-b[i]);
if (c[i]<0)
{
c[i]+=10; //小於0的原位加10
c[i+1]--; //高位減1
}
}
else
for (i=1;i<=len;i++) //計算每一位的值
{
c[i]+=(b[i]-a[i]);
if (c[i]<0)
{
c[i]+=10; //小於0原位加10
c[i+1]--; //高位減1
}
}
while (len>1 && c[len]==0) //去掉高位的0
len--;
c[0]=len;
printf("Big integers sub= ";
if (a[0]<b[0]) printf("-";
for(i=len;i>=1;i--) //列印結果
printf("%d",c[i]);
printf("\n";
return 0;
}
int bigmult(int a[],unsigned int b,int c[])//高精度乘以低精度
{
int len,i;
for (i=0;i<MAXINT;i++) //數組清0
c[i]=0;
len=a[0];
for(i=1;i<=len;i++) //對每一位計算
{
c[i]+=a[i]*b;
c[i+1]+=c[i]/10;
c[i]%=10;
}
while (c[++len]>=10) //處理高位
{
c[len+1]=c[len]/10;
c[len]%=10;
}
if (c[len]==0) len--; //處理高進位為0情況
printf("Big integrs multi small integer: ";
for (i=len;i>=1;i--)
printf("%d",c[i]);
printf("\n";
}
int bigmult2(int a[],int b[],int c[]) //高精度乘以高精度
{
int i,j,len;
for (i=0;i<MAXINT;i++) //數組清0
c[i]=0;
for (i=1;i<=a[0];i++) //被乘數循環
for (j=1;j<=b[0];j++) //乘數循環
{
c[i+j-1]+=a[i]*b[j]; //將每一位計算累加
c[i+j]+=c[i+j-1]/10; //將每一次結果累加到高一位
c[i+j-1]%=10; //計算每一次的個位
}
len=a[0]+b[0]; //取最大長度
while (len>1 && c[len]==0) //去掉高位0
len--;
c[0]=len;
printf("Big integers multi: ";
for (i=len;i>=1;i--) //列印結果
printf("%d",c[i]);
printf("\n";
}
int bigdiv(int a[],unsigned int b,int c[],int *d) //高精度除以低精度
{ //a[] 為被乘數,b為除數,c[]為結果,d為余數
int i,len;
len=a[0]; //len為a[0]的數組長度
for (i=len;i>=1;i--)
{
(*d)=10*(*d)+a[i]; //計算每一步余數
c[i]=(*d)/b; //計算每一步結果
(*d)=(*d)%b; //求模余數
}
while (len>1 && c[len]==0) len--; //去高位0
printf("Big integer div small integer: ";
for (i=len;i>=1;i--) //列印結果
printf("%d",c[i]);
printf("\tArithmetic compliment:%d",*d);
printf("\n";
}
int bigdiv2(int a[],int b[],int c[],int d[]) //高精度除以高精度
{
int i,j,len;
if (compare(a,b)<0) //被除數較小直接列印結果
{
printf("Result:0";
printf("Arithmetic compliment:";
for (i=a[0];i>=1;i--) printf("%d",a[i]);
printf("\n";
return -1;
}
for (i=0;i<MAXINT;i++) //商和余數清0
{
c[i]=0;
d[i]=0;
}
len=a[0];d[0]=0;
for (i=len;i>=1;i--) //逐位相除
{
for (j=d[0];j>=1;j--)
d[j+1]=d[j];
d[1]=a[i]; //高位*10+各位
d[0]++; //數組d長度增1
while (compare(d,b)>=0) //比較d,b大小
{
for (j=1;j<=d[0];j++) //做減法d-b
{
d[j]-=b[j];
if (d[j]<0)
{
d[j]+=10;
d[j+1]--;
}
}
while (j>0 && d[j]==0) //去掉高位0
j--;
d[0]=j;
c[i]++; //商所在位值加1
}
}
j=b[0];
while (c[j]==0 && j>0) j--; //求商數組c長度
c[0]=j;
printf("Big integers div result: ";
for (i=c[0];i>=1;i--) //列印商
printf("%d",c[i]);
printf("\tArithmetic compliment: "; //列印余數
for (i=d[0];i>=1;i--)
printf("%d",d[i]);
printf("\n");
}