xcxd.net
当前位置:首页 >> C语言,超长正整数的减法,我写的程序,运行时有错... >>

C语言,超长正整数的减法,我写的程序,运行时有错...

#include#includevoid reverse(char s[]){int i, j;char tmp;for (i = 0, j = strlen(s) - 1; i= b[i]){c[j] = a[i] - k - b[i] + '0';k = 0;i--;j--;}else {c[j] = a[i] + 10 - k - b[i] + '0';k = 1;i--;j--;}}}else if (a[i]= m){if (b[i] - ...

以前我也做过一个大整数程序,2000!,不过那里面没有减法。做这个减法真让花时间埃 #include #include #include #define MAX 4000/*数位上限*/ dd(char *a) { char t[MAX]; int i,j; for(i=0;i0;j++,i--) { t[j]=a[i-1]; } strncpy(a,t,j); bre...

#include #include void addNum(void){#define NUMBUFFERSIZE 81 int cntNum1 = 0, cntNum2 = 0, cntMax = 0,cntMix = 0; int index = 0,addUp = 0,cntSum = 0; int i = 0; char num1[NUMBUFFERSIZE] = { 0 }, num2[NUMBUFFERSIZE] = {0}; char ...

#include #include int z(char c) return(c==' '?0:c-'0'); void main() { char a[81],b[81],s[81]; int n,flag; scanf("%s",s); sprintf(a,"%80s",s); scanf("%s",s); sprintf(b,"%80s",s); for(flag=0,n=79; n>=0; n--, flag/=10) s[n]=(flag=...

这是个老问题了,解决方法就是,自己模拟计算机的位运算,下面有个代码例子,你看一下吧,摘自百度 输出的时候效率太低,还可以改进 Code: /***************************************************************** 大数运算库头文件:BigInt.h 作...

/*这里是头文件BigInt.h*/ class bigint { struct node //节点 { char n; node *next; }; node *head,*end,*temp;//头结点,尾节点,临时节点 void addhead(char n);//增加头结点 void addend(char n);//增加尾节点 public: bigint(); ~bigint()...

特别长的像你那种,可使用 long long int(最长的整型变量了) 输出时用格式控制符%I64d // 是(i 的大写加64d,别写成L的小写了) 特别特别特别长的,long long int也装不下的,用字符数组处理, 那么如何加减乘除就要你花一番心思了

#include #include #include void add(char a[],char b[],char back[]){ int i,j,k,up,x,y,z,l; char *c; if (strlen(a)>strlen(b)) l=strlen(a)+2; else l=strlen(b)+2; c=(char *)malloc(l*sizeof(char)); i=strlen(a)-1,j=strlen(b)-1; k=0,u...

我想里面的 c[i+j] = a[i] * b[j] + c[i+j]; c[i+j+1] = c[i+j] / 10 + c[i+j+1]; c[i+j] = c[i+j] % 10; 应该是关于进位的,大于10 就要向前进一位 c[i+j] = a[i] * b[j] + c[i+j]; 比如这个等于 36 那么 把6 留下 3 进到 前一位去 ; c[i+j+1]...

//#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h"#include "string.h"#include "stdlib.h"int main(void){ char **p,t[101]; int i,j,k,n,x,y,a,b; printf("How many Numbers?\nn="); scanf("%d",&n); if((p=(char **)malloc(sizeo...

网站首页 | 网站地图
All rights reserved Powered by www.xcxd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com