0
点赞
收藏
分享

微信扫一扫

第三周程序设计

椰果玩安卓 2022-03-18 阅读 54
c语言
#include<stdio.h>
#include<string.h>
int add(char * A,char * B,int * re)//定义加法函数,传入字符数组A,B,结果为整型re 再返回一个结果长度的整型
{
	int len1,len2,i,j,max;
	int C[1000],D[1000];
	len1 = strlen(A);
	len2 = strlen(B);
	for(i=len1-1,j=0;i>=0;i--)//对AB进行倒置,并存入CD整型数组中
		C[j++] = A[i]-'0';
	for(i=len2-1,j=0;i>=0;i--)
		D[j++] = B[i]-'0';
	if(len1>len2)   max = len1;//找到最长的数组长度以便于每一位数字都可以运算
	else	max = len2;
	for(i=0;i<max;i++)
	{
		re[i] = re[i]+C[i]+D[i];//re[i]可能有上一次运算会进位,所以需要加1,re[i]可能为0/1
		if(re[i]>9)//若和超过9 此位数-10,下一位+1
		{
			re[i] -= 10;//进位-10
			re[i+1]++;//下一位+1
		}
	}
    if(re[max]==0) return  max;//若最后一个为0说明位数不变
    else  return  max + 1;//若为1  说明结果位数会比最大的加1  类似999+101=1100
}
int main()
{
    int RE[1000]={0},i,len;
	char A[1000],B[1000];
	scanf("%s %s",A,B);
	len = add(A,B,RE);//len为结果的长度
	for(i=len-1;i>=0;i--)
	printf("%d",RE[i]);//倒序输出
}
举报

相关推荐

第三周程序设计 数楼梯

第三周作业

第三周总结

冲刺第三周

第三周周四

ChatGPT学习第三周

第三周-Java基础

CSS学习第三周

0 条评论