(程序设计方法与实践)Calc++

本文介绍了Calc++,一个能够处理大整数计算的程序设计案例。在Windows计算器无法处理大量位数的数字运算时,Calc++能解决这类问题。用户输入包含两个非负整数及加、减、乘运算符的指令,程序将返回运算结果。文章提供了一个样例代码以供参考。

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

Calc++

Description

大家都知道,在Windows中,按win+R键在运行窗口中输入calc即可打开计算器。

有一天,龙神在写高数作业,他熟练的打开了电脑上的计算器,想要计算233…(一共233个3)…333^2的结果,他突然发现,Windows自带的计算器竟然只能输入32位数字。这下龙神可是急坏了,再不把这个数算出来就交不上高数的作业了,你能帮帮龙神吗?

Input

样例有多组输入,EOF。

每组用例占1行,形式为“A opt B”,其中A和B为两个非负整数,最多有1e5位有效数字,opt为‘+’、‘-’、‘*’之一。

Output

对于每组样例,输出一行为运算结果。

Hint

最后一个测试用例不占权重,即最后一个测试用例未通过不影响本题获得全部分数。

感兴趣的同学可以尝试一下。

在这里插入图片描述

代码如下:

#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 
char A[100000+500]={
   
   0},B[100000+500]={
   
   0}; 
int main()  
{
   
    
  char opt; 
  while(scanf("%s %c %s",&A,&opt,&B)!=EOF)  
  {
   
    
      int la,lb,i,j; 
     int c[201000]={
   
   0}; 
     la=strlen(A); 
      lb=strlen(B); 
      int a[100500]={
   
   0},b[100500]={
   
   0}; 
       switch(opt)  
       {
   
    
          case '+':  
         {
   
    
              for(i=0,j=la-1;i<la;i++,j--)  
               {
   
    
                  a[i]=A[j]-'0'; 
             } 
 
             for(i=0,j=lb-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值