C语言 乘法 大数相乘
2016-02-04 22:16
447 查看
乘法,大数相乘。
程序很简单,不多说,看代码
程序很简单,不多说,看代码
#include<stdio.h> #include<string.h> #define N 100 void fun(char *res) //逆序字符串 { int len; len = strlen(res) - 1; for(int i = 0; i <= len/2; i++) { char temp; temp = res[i]; res[i] = res[len-i]; res[len-i] = temp; } } void mul(char *num1, char *num2, char *res) { for(int len1 = strlen(num1)-1; len1 >= 0; len1 --) { for(int len2 = strlen(num2)-1; len2 >= 0; len2 --) { int i = strlen(num1)-1 - len1 + strlen(num2)-1 - len2; // i 代表此次相乘结果存放的起始位置 int temp; if(res[i] == 0) res[i] = '0'; temp = res[i] -'0' + (num1[len1]-'0') * (num2[len2]-'0'); res[i] = temp % 10 + '0'; temp = temp / 10; while(temp) //处理进位 { if(res[++i] == 0) res[i] = '0'; temp += res[i] -'0'; res[i] = temp % 10 + '0'; temp = temp / 10; } } } fun(res); } main() { char num1 = {0}; char num2 = {0}; char res[2*N] = {0}; puts("please enter the first number:\n"); gets(num1); puts("\nplease enter the second number:\n"); gets(num2); mul(num1, num2, res); puts("\nAfter multiply result is :"); puts(res); getchar(); }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法