社区讨论
弱弱的问一下为什么会找不到程序?
学术版参与者 6已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mi6xkocj
- 此快照首次捕获于
- 2025/11/20 12:28 4 个月前
- 此快照最后确认于
- 2025/11/20 12:28 4 个月前
请问各位大神,这是一个高精度减法的代码
#include
#include<bits/stdc++.h>
using namespace std;
struct st{int data[100000000]; int len;
};
char ca[10000000],cb[10000000];
st change(char j[]){st b; b.len=strlen(j);//daopai
for(int i=0;i<b.len;i++){ b.data[b.len-1-i]=j[i]-'0';
} return b;
}
bool cmp(st a,st b){ if(a.len<b.len){ return -1;
}
if(a.len==b.len){for(int i=a.len-1;i>=0;i--){if (a.data[i]<b.data[i])
{return -1;
};
}
} return 1;
}
st sub(st a,st b ){ if(cmp(a,b)==-1)printf("-"); st c;c.len=0; int temp=0;
for(int r=0;r<a.len||r<b.len;r++){ if(a.data[r]<b.data[r]){a.data[r+1]--;
a.data[r]+=10;
} c.data[c.len++]=a.data[r]-b.data[r];
} while(c.data[c.len-1]==0&&c.len>=2) c.len--; return c;
}//chong gao daodi int main(){ gets(ca); gets(cb) ; st a=change(ca); st b=change(cb); cmp(a,b); st c=sub(a,b); for(int i=c.len-1;i>=0;i--){printf("%d",c.data[i]); } return 0; } 求解哪错了
} c.data[c.len++]=a.data[r]-b.data[r];
} while(c.data[c.len-1]==0&&c.len>=2) c.len--; return c;
}//chong gao daodi int main(){ gets(ca); gets(cb) ; st a=change(ca); st b=change(cb); cmp(a,b); st c=sub(a,b); for(int i=c.len-1;i>=0;i--){printf("%d",c.data[i]); } return 0; } 求解哪错了
回复
共 5 条回复,欢迎继续交流。
正在加载回复...