c语言加法小于100怎么写,用C语言编程:1000位以内的正整数的加法运算

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

乐宝_专属

推荐于 2016.07.08

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:52%    等级:9

已帮助:1366人

声明两个能容纳1000位十进制数的char型数组存储输入数字字符串,以长的做被加数和结果,短的长度控制加法循环次数。在加法过程中判断和处理进位。举例代码如下://#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

#include "string.h"

int main(void){

char a[1002]={'0'},b[1002]={'0'},*pl=a,*ps=b;

int i,j,la,lb;

while(1){//保证输入是正确的

printf("Input a & b(length<=1000)...\n");

scanf("%[1234567890] %[1234567890]",a+1,b+1);//最前面留1位做进位

if((la=strlen(a))<1002 && (lb=strlen(b))<1002)

break;

printf("Error, redo: ");

}

if(la

ps=a,pl=b;

j=la,la=lb,lb=j;

}

for(i=lb-1,j=la-1;i>0;i--,j--)//从末位向前对应加

if((pl[j]+=ps[i]-'0')>'9')//某位>'9'则处理进位

pl[j]-=10,pl[j-1]++;

for(;j>0;j--)//若被加数有进位则继续做完

if(pl[j]>'9')

pl[j]-=10,pl[j-1]++;

printf("The result is %s\n",pl[0]=='1' ? pl : pl+1);//有进位则第0位输出

return 0;

}

10分享举报

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值