早教吧作业答案频道 -->其他-->
这是两个大数相加请帮忙改成两个大数相减#include#includeusingnamespacestd;intmain(intargc,char*argv[]){intn,t=1;scanf("%d",&n);while(n--){chara[1000],b[1000];intc[1000];scanf("%s%s",a,b);printf("Case%d:\n",t);t++;printf
题目详情
这是两个大数相加 请帮忙改成两个大数相减
#include
#include
using namespace std;
int main(int argc,char *argv[])
{
int n,t=1;
scanf("%d",&n);
while(n--)
{
char a[1000],b[1000];
int c[1000];
scanf("%s %s",a,b);
printf("Case %d:\n",t);
t++;
printf("%s + %s = ",a,b);
int alen,blen;
int Maxlen;
alen=strlen(a);
blen=strlen(b);
if(alen>=blen)
{
Maxlen=alen;
for(int i=Maxlen-1;i>=alen-blen;i--)
{
b[i]=b[i-alen+blen];
}
for(int i=alen-blen-1;i>=0;i--)
{
b[i]='0';
}
}
else
{
Maxlen=blen;
for(int i=Maxlen-1;i>=blen-alen;i--)
{
a[i]=a[i-blen+alen];
}
for(int i=blen-alen-1;i>=0;i--)
{
a[i]='0';
}
}
int flag=0;
int k=0;
for(int i=Maxlen-1;i>=0;i--)
{
c[k]=((a[i]-'0')+(b[i]-'0')+flag)%10;
if((a[i]-'0')+(b[i]-'0')+flag>9)
{
flag=1;
}
else
{
flag=0;
}
k++;
}
if(flag==1)
{
c[Maxlen]=1;
for(int i=Maxlen;i>=0;i--)
{
printf("%d",c[i]);
}
}
else
{
for(int i=Maxlen-1;i>=0;i--)
{
printf("%d",c[i]);
}
}
printf("\n");
if(n>0)
printf("\n");
}
system("PAUSE");
return EXIT_SUCCESS;
}
#include
#include
using namespace std;
int main(int argc,char *argv[])
{
int n,t=1;
scanf("%d",&n);
while(n--)
{
char a[1000],b[1000];
int c[1000];
scanf("%s %s",a,b);
printf("Case %d:\n",t);
t++;
printf("%s + %s = ",a,b);
int alen,blen;
int Maxlen;
alen=strlen(a);
blen=strlen(b);
if(alen>=blen)
{
Maxlen=alen;
for(int i=Maxlen-1;i>=alen-blen;i--)
{
b[i]=b[i-alen+blen];
}
for(int i=alen-blen-1;i>=0;i--)
{
b[i]='0';
}
}
else
{
Maxlen=blen;
for(int i=Maxlen-1;i>=blen-alen;i--)
{
a[i]=a[i-blen+alen];
}
for(int i=blen-alen-1;i>=0;i--)
{
a[i]='0';
}
}
int flag=0;
int k=0;
for(int i=Maxlen-1;i>=0;i--)
{
c[k]=((a[i]-'0')+(b[i]-'0')+flag)%10;
if((a[i]-'0')+(b[i]-'0')+flag>9)
{
flag=1;
}
else
{
flag=0;
}
k++;
}
if(flag==1)
{
c[Maxlen]=1;
for(int i=Maxlen;i>=0;i--)
{
printf("%d",c[i]);
}
}
else
{
for(int i=Maxlen-1;i>=0;i--)
{
printf("%d",c[i]);
}
}
printf("\n");
if(n>0)
printf("\n");
}
system("PAUSE");
return EXIT_SUCCESS;
}
▼优质解答
答案和解析
C语言 两个大数相减
#include
#include
#include
void yun_suan(char *str1,char *str2)
{
int length1,length2;
int sum=0,pos1,pos2,flag1=1;
length1=strlen(str1);
length2=strlen(str2);
pos1=length1-1;
pos2=length2-1;
while(pos2!=0)
{
sum=str1[pos1]-'0'-(str2[pos2]-'0');
if(sum=0)
{
k--;
}
str1[k]=str1[k]-'0'-1+'0';
for(s=k+1;s
#include
#include
#include
void yun_suan(char *str1,char *str2)
{
int length1,length2;
int sum=0,pos1,pos2,flag1=1;
length1=strlen(str1);
length2=strlen(str2);
pos1=length1-1;
pos2=length2-1;
while(pos2!=0)
{
sum=str1[pos1]-'0'-(str2[pos2]-'0');
if(sum=0)
{
k--;
}
str1[k]=str1[k]-'0'-1+'0';
for(s=k+1;s
看了这是两个大数相加请帮忙改成两个...的网友还看了以下:
U.S.A.或U.S.前需要加the?美国的缩写形式U.S.A.或U.S.前需要加the 2020-04-06 …
为什莫U.K.和U.S.前加the.国家前不能加the比如Canada放入句子就不加the如inc 2020-04-06 …
德语-静三动四:为什么有些介词后面加m,有些则加s呢?什么时候加m,什么时候加s?m、s到底是什么 2020-05-17 …
集合M={u|u=12m+8n+4L,m,n,L属于整数},N={u|u=20p+16q+12r, 2020-06-18 …
摩擦力跟减速度a的关系式是什么?一个物体在匀速运动(V0),在离重点距离S的时候匀减速运动,已知它 2020-06-20 …
汽车在潜牵引力作下做匀加速10秒内从5m/s增加到15m/s车m=2*10^3车于路面动摩擦因数为 2020-06-28 …
1.r,h,n,y,e2.c,e,s,c,n,i,e3.p,1,a,p,e4.r,a,t5.p,o 2020-07-09 …
给出几个字母,请把他们拼写成一个单词,1、t,s,e,n,u,d2、m,u,b,o,b,s,e, 2020-10-31 …
已知流速分布公式为u=4y^2/3(u以s/m计,y以m计),求y=0,0.25,1.0处的速度梯度 2020-11-01 …
一物体在5N的外力作用下,产生1dm/s²的加速度,求该物体的质量,其中单位运用正确的是A:m=F/ 2021-02-04 …