qq_33369307 2015-12-16 04:45 采纳率: 40%
浏览 1460
已采纳

哪里错了,求大神!!!!

#include

void input(char*s)

{scanf("%s",s);}

void output(char*s)

{printf("%s",s);}

void add(char*s1,char*s2,char*s)

{int i,j,k,k1,t=0;

for(i=0;s1[i];i++);

for(j=0;s2[j];j++);

i--,j--;

k=i>j?i:j;

k1=k+1;

s[k1]='\0';

for(;i>=0&&j>=0;k--)

{

s[k]=s1[i--]+s2[j--]-'0'+t;

t=s[k]>'9';

if(t)s[k]-=10;

}

for(;i>=0;k--)

{

s[k]=s1[i--]+t;

t=s[k]>'9';

if(t)s[k]-=10;

}

for(;j>=0;k--)

{

s[k]=s2[j--]+t;

t=s[k]>'9';

if(t)s[k]-=10;

}

if(t)

{

for(;k1>=0;k1--)s[k1+1]=s[k1];

s[0]='1';

}

}

void sub(char*s1,char*s2,char*s)

{int i,j,k,k1,t=0;

for(i=0;s1[i];i++);

for(j=0;s2[j];j++);

i--,j--;

k=i>j?i:j;

k1=k+1;

s[k1]='\0';

for(;j>=0;k--)

{

s[k]=s1[i--]-s2[j--]+'0'-t;

t=s[k]<'0';

if(t)s[k]+=10;

}

for(;i>=0;k--)

{

s[k]=s1[i--]-t;

t=s[k]<'0';

if(t)s[k]+=10;

}

}

int comp(char*s1,char*s2)

{int i,j;

for(i=0;s1[i];i++);

for(j=0;s2[j];j++);

if(i>j)return 1;

if(i<j)return -1;

for(i=0;i>=0&&s1[i]==s2[i];i++);

if(s1[i]>s2[i])return 1;

if(s1[i]<s2[i])return -1;

return 0;

}

int main()

{

char s1[100],s2[100],s[100];

input(s1);

input(s2);

add(s1,s2,s);

output(s1);printf("+");

output(s2);printf("=");

output(s);printf("\n");

output(s1);printf("-");

output(s2);printf("=");

if(comp(s1,s2)>=0)sub(s1,s2,s);

else {sub(s2,s1,s); printf("-");}

output(s);printf("\n");

getch();

return 0;

}

  • 写回答

2条回答 默认 最新

  • ysuwood 2015-12-16 04:52
    关注
     s[k]=s1[i--]-'0+s2[j--]-'0'+t;
    
    
     这一段要干什么用?比'9'大是什么?A?
     for(;i>=0;k--)
    {
    s[k]=s1[i--]+t;
    t=s[k]>'9';
    if(t)s[k]-=10;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)