大数相减
发布时间:2020-12-14 03:31:54 所属栏目:大数据 来源:网络整理
导读:输入两行字符串正整数,第一行是被减数,第二行是减数,输出第一行减去第二行的结果。 备注:1、两个整数都是正整数,被减数大于减数 示例: 输入:1000000000000001 ????? 1 输出:1000000000000000 #includeiostream#includecstringusing namespace std;in
输入两行字符串正整数,第一行是被减数,第二行是减数,输出第一行减去第二行的结果。 备注:1、两个整数都是正整数,被减数大于减数 示例: 输入:1000000000000001 ????? 1 输出:1000000000000000 #include<iostream> #include<cstring> using namespace std; int main() { const int Max =20; char a[Max],b[Max]; cin>>a; cin>>b; int a_len = strlen(a)-1,b_len = strlen(b)-1; int num = strlen(a); char* c = new char [num+1]; c[num]=' '; int i= num-1; bool flage = false; while( (b_len) >=0) { if((a[a_len]+0-flage)>= b[b_len]) { c[i]= '0'+a[a_len]-b[b_len] +0 -flage; flage = false; } else{ c[i]= '0'+a[a_len]-b[b_len] +10 -flage; flage = true; } b_len--; a_len--; i--; } while((a_len)!= -1) { c[a_len] = a[a_len]+ 0 -flage; if(a[a_len]> '0') flage = false; else flage =true; a_len--; } cout<<c<<endl; }编这一个程序用了一下午,不知道自己是不适合去做程序员,思路有,但是处理不好细节 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |