数字相加问题。


#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void main(){

int n;
//a b c 分别用来存输入和存结果
char a[1000]="",b[1000]="",c[1001]="";
scanf("%d",&n);
int j=1;
while(n){
scanf("%s %s",a,b);
printf("Case %d:\n",j);
printf("%s + %s = ",a,b);
int lena = strlen(a);
int lenb = strlen(b);
int i=0;
int max;
//选择最大的
if(lena>=lenb){
max=lena;
}else{
max=lenb;
}
//余数
int p=0;
for(;i<max;i++){
    if(!a[i]){
    //为空
        a[i]='0';
    }
    if(!b[i]){
        b[i]='0';
    }

    c[i]=a[i]+b[i]-'0'+p-'0';
//  printf("c[i]= %d",c[i]);
    if(c[i]>=10){
    p=1;
    c[i]=(c[i])%10;
    }else{
    p=0;
    }
}
if(p==1)
c[i]=p;
while(i>=0){
    if(i>=max && c[i]==0){
    //第一次进来
        i--;
        continue;
    }
    printf("%d",c[i]);
    i--;

}
if(n!=1)
printf("\n\n");
else
printf("\n");

n--;
j++;
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,当两个字符串进行相加操作时,会进行字符串拼接而不是相加运算。如果想要实现数字相加的效果,需要先将字符串转换为数字类型。有几种方法可以实现这个目的。 第一种方法是在字符串前面加上一个"+"号,这样就会将字符串转换为数字类型。例如: ```javascript let str1 = '1234'; let str2 = '3456'; let res = (+str1) + (+str2); ``` 这样,res的值就是数字相加的结果。 第二种方法是使用减法运算符"-",将字符串减去0,也可以将字符串转换为数字类型。例如: ```javascript let str1 = '1234'; let str2 = '3456'; let res = (str1 - 0) + (str2 - 0); ``` 这样,res的值也是数字相加的结果。 需要注意的是,如果字符串中包含非数字字符,转换为数字类型时会返回NaN(Not a Number)。所以在进行转换之前,需要确保字符串中只包含数字字符。 引用\[1\]和\[2\]提供了两种常用的方法来实现数字字符串相加的操作。你可以根据具体的需求选择其中一种方法来使用。 #### 引用[.reference_title] - *1* [js数字字符串相加](https://blog.csdn.net/weixin_42729208/article/details/82846991)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [JavaScript中字符串与数字间的运算](https://blog.csdn.net/weixin_44253336/article/details/98904994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Java】js的字符串数字相加问题](https://blog.csdn.net/u014234260/article/details/126298163)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值