c语言 大整数减法
求2个大的正整数相减的差输入第1行是测试数据的组数n,每组测试数据占2行,第1行是被减数a,第2行是减数b(a>b)。每组测试数据之间有一个空行,每行数据不超过100个字...
求2个大的正整数相减的差输入第1行是测试数据的组数n,每组测试数据占2行,第1行是被减数a,第2行是减数b(a > b)。每组测试数据之间有一个空行,每行数据不超过100个字符输出n行,每组测试数据有一行输出是相应的整数差
展开
1个回答
2013-12-14
展开全部
郁闷,我用纸写了一下,写了3面纸,现在时间不够了,我不能把代码抄上来了。唉……够悲剧。
方法可以告诉你:
分别定义2个字符串数数和2个整数数,然后把字符串数组转换成整数数组,这样的转换并不麻烦,你可以声明一个中间字符串变量(这个字符串长度为1,因为只用于存放一个1个字节的字符),然后分别把这个只含有一个字符的字符串转化位整数并存入整数2维数组中,用atoi()函数把字符串转换成整数。
假设转换后的被减数组成的数组为a1[10][100],减数组成的数组为a2[10][100],然后模拟竖式运算,就是说如果a1[i][j]<a2[k][l]则a1[i][j]要加10再进行计算,当然a1[i][j-1]就要减1,因为被借了1。你可以把数出来的差放入新的整数数组中,如果a1的位数大于a2的位数,那只要把多出的部分直接放入新数组中即可。
还是这样说比较好,我把代码写出来你更难看懂。。。
方法可以告诉你:
分别定义2个字符串数数和2个整数数,然后把字符串数组转换成整数数组,这样的转换并不麻烦,你可以声明一个中间字符串变量(这个字符串长度为1,因为只用于存放一个1个字节的字符),然后分别把这个只含有一个字符的字符串转化位整数并存入整数2维数组中,用atoi()函数把字符串转换成整数。
假设转换后的被减数组成的数组为a1[10][100],减数组成的数组为a2[10][100],然后模拟竖式运算,就是说如果a1[i][j]<a2[k][l]则a1[i][j]要加10再进行计算,当然a1[i][j-1]就要减1,因为被借了1。你可以把数出来的差放入新的整数数组中,如果a1的位数大于a2的位数,那只要把多出的部分直接放入新数组中即可。
还是这样说比较好,我把代码写出来你更难看懂。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询