1583:基础练习 高精度加法

本文介绍了一个简单的加法程序的设计与实现,通过C和Java两种语言展示了如何接收两个整数输入并输出它们的和,适用于初学者理解基本的输入输出操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//不知道哪里错了,可能就是范围开的max不够吧,反正全开开就ac了

//这题是看到江敏做了我就做了,emmm,不得承认人家做题效率高,两天做了五六题,账户还没开几天就已经27了,我才上40,希望今晚加明天白天,可以把所有的难题都做掉,明后天总结做过的题,加油吧!

Description

输入A、B,输出A+B。说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。

Input

输入的第一行包括两个整数,由空格分隔,分别表示A、B。
说明:“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式。

做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查。多余的格式检查可能会适得其反,使用你的程序错误。

在测试的时候,系统会自动将输入数据输入到你的程序中,你不能给任何提示。比如,你在输入的时候提示“请输入A、B”之类的话是不需要的,这些多余的输出会使得你的程序被判定为错误。

Output

输出一行,包括一个整数,表示A+B的值。
说明:“输出格式”是要求你的程序在输出结果的时候必须满足的格式。

在输出时,你的程序必须满足这个格式的要求,不能少任何内容,也不能多任何内容。如果你的内容和输出格式要求的不一样,你的程序会被判断为错误,包括你输出了提示信息、中间调试信息、计时或者统计的信息等。

Sample Input

12 45

Sample Output

57

Hint

数据规模与约定
-10000 <= A, B <= 10000。
说明:“数据规模与约定”中给出了试题中主要参数的范围。

这个范围对于解题非常重要,不同的数据范围会导致试题需要使用不同的解法来解决。比如本题中给的A、B范围不大,可以使用整型(int)来保存,如果范围更大,超过int的范围,则要考虑其他方法来保存大数。

有一些范围在方便的时候是在“问题描述”中直接给的,所以在做题时不仅要看这个范围,还要注意问题描述。
#include <stdio.h>

 

int main()

{

    int A, B;

    

    scanf("%d%d", &A, &B);

    printf("%d", A+B);

    

    return 0;

}

//参考代码Java

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;



class Main

{

    public static void main(String[] args) throws IOException

    {

        args = new BufferedReader(new InputStreamReader(System.in)).readLine().split(" ");

        System.out.println(Integer.parseInt(args[0])+Integer.parseInt(args[1]));

    }

}

import java.util.Scanner;
public class Main {  
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String l1=sc.nextLine();
		String l2=sc.nextLine();
		
		int[] a=new int[105];
		int[] b=new int[105];
		int[] sum=new int[105];
        for (int i = 0; i <105; i++){
            a[i]=b[i]=sum[i]=0;
        }
		
		for(int i=0;i<l1.length();i++){
			a[i]=(int)l1.charAt(l1.length()-i-1)-48;
		}
		for(int i=0;i<l2.length();i++){
			b[i]=(int)l2.charAt(l2.length()-i-1)-48;
		}
		int max=l1.length()>l2.length()?l1.length():l2.length();
	
		int jinwei=0;
		for(int i=0;i<105;i++){
			sum[i]=(a[i]+b[i]+jinwei)%10;
			jinwei=(a[i]+b[i]+jinwei)/10;
		}
		int f=0;
		for(int i=104;i>=0;i--){
			if(sum[i]!=0) {
				f=i;break;
			}
		}
		for(int i=f;i>=0;i--){
			System.out.print(sum[i]);
		}
		System.out.println();
	}
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值