a除以b的编程怎么写(a除以bpython)

http://www.itjxue.com  2023-04-09 01:16  来源:未知  点击次数: 

C语言 A除以B

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

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

还有就是字符串”123“里数字不能和int直接比较,方法见下。

#includestdio.h

#includestring.h

int?main()?{

????char?a[1000],?b[1000];

????int?c,?d;

????scanf("%s%d",?a,?c);

????int?i;

????d?=?0;

????int?tmp;

????for(i?=?0;?a[i]?!=?'\0';?i++){

????????tmp?=?d?*?10?+?a[i]?-?'0';

????????b[i]?=?tmp?/?c?+?'0';

????????d?=?tmp?%?c;

????}

????b[i]?=?'\0';

????printf("%s?%d\n",?b,?d);

???

???//下面是去掉前导零

????i?=?0;

????while(b[i]?==?'0')?i++;

????int?j;

????for(j?=?0;?b[i]?!=?'\0';?j++,?i++)

????????b[j]?=?b[i];

????b[j]?=?'\0';

????printf("%s?%d\n",?b,?d);

????return?0;

}

Python设计a除以b,结果四舍五入,保留两位小数,输入是两行,每行一个实数,b为0时输出除零错

a=float(raw_input('Enter?a:?'))

b=float(raw_input('Enter?b:?'))

if(b):

????c=a/b

????print('%.2f'%c)

else:

????print('Error')

c语言编程:计算 a / b

#include?stdio.h

int?main()

{

????int?a,b,c;

????do{

????????scanf("%d%d",?a,b);

????????fflush(stdin);

????}while(a-10000||b-10000||a10000||b10000);

????if(b==0)printf("Division?by?zero.\n");

????else?{

????????c?=?a/b;

????????printf("%d\n",?c);

????}

????return?0;

}

输入a,b两个整数,编程求出a除以b得到的商和余数.(用c#做)

很简单

using?System;

namespace?zhidao

{

????class?Program

????{

????????static?void?Main(string[]?args)

????????{

????????????double??a,?b;

????????????Console.Write("请输入a:");

????????????a=Convert.ToDouble(Console.ReadLine());

????????????Console.Write("请输入b:");

????????????b?=Convert.ToDouble(Console.ReadLine());

????????????Console.WriteLine("a÷b的值为{0},余数为{1}",a/b,a%b);

????????????Console.WriteLine("按任意键退出程序");

????????????Console.ReadKey();???????????

????????}

????}

}

大数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;iMAXINT;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;iMAXINT;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 (len1 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;iMAXINT;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;iMAXINT;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 (len1 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 (len1 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;iMAXINT;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 (j0 d[j]==0) //去掉高位0

j--;

d[0]=j;

c[i]++; //商所在位值加1

}

}

j=b[0];

while (c[j]==0 j0) 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");

}

(责任编辑:IT教学网)

更多