模拟人工算法吧(大数都采用字符数组!)
做除法运算,首先至少要会乘法。
123456789*5
运算如下:
9*5=5进4,5*8=0 加个位进位4 进4,以此类推
大数之间的比较,也要会,这个简单就不说了,如果这个也不会,那我没办法说下去了!
除法如下:
把数字当放入字符数组....
假设:17346777412563/2365489
2365489(7位)
1734677(7位)
使用字符数组比较,如果是小于,那么采用17346777(8位)
一.然后2365489*9=的结果跟17346777,如果大于就2365489*8....依次类推直到小于。求得结果的第一位了。
然后17346777-2365489*x=余数跟(17346777后一位)4组合,看是否大于2365489,大于就
进入一步骤方式运算。小于的话,结果的第二位就是0。
大致思路讲了,只要中间思路分析清楚,基本上不会有多大问题。总之,模拟人工。
这样的话,不管多大的数字之间的除法都OK的!
思路不懂可以来问我,如果,要我写代码,就别找我了
#include "stdio.h"#include "math.h"
void main(void)
{
int a,b,c,d,e,g
float f
printf("int a,b")
scanf("%d %d",&a,&b)
c=a+b
d=a-b
e=a*b
f=a/(float)b
g=a%b
printf("c=%d\n d=%d\n e=%d\n f=%f\n g=%d\n",c,d,e,f,g)
}
整数除整数得到的一定是整数,这个和c语言中的自动类型转换有关,按照我上面写的,把b强制转换成浮点型,这样得到的结果就是浮点型,还有输出浮点型数时用 %f 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)