代码如下:
#include <bits/stdc++.h>
using namespace std;
int c[205];
int cmp(string s1, string s2)
{
int len=s1.size();
for(int i=0;i<len;i++){
if(s1[i]<s2[i]) return -1;
}
return 0;
}
int main() {
string s1, s2;
cin>>s1>>s2;
int len1 = s1.size();
int len2 = s2.size();
if (len1 < len2||len1==len2&&cmp(s1,s2)<0){
swap(s1, s2); swap(len1,len2);
cout<<'-';
}
for (int i = 1; i <= len1 - len2; i++) {
s2 = '0' + s2;
}
for (int i = len1 - 1; i >=0; i--) {
if(s1[i]<s2[i])
{
c[i]+=10;
c[i-1]+=-1;
}
c[i]+=s1[i]-s2[i];
}
int f = 0;
while (c[f] == 0) {
f++;
}
for (int i = f; i < len1; i++) {
cout << c[i];
}
return 0;
}
该代码段展示了一个C++程序,用于比较两个字符串并根据特定规则进行调整。它首先定义了一个比较函数cmp,然后在main函数中,根据字符串长度和cmp函数的结果交换字符串。之后,将较短的字符串填充0以使两者长度相等,接着逐字符比较,计算差异并存储在数组c中。最后,输出数组c的内容,表示字符串的相对位置差异。
7825

被折叠的 条评论
为什么被折叠?



