求和-如何将两个字符数组里的数字相加得出两组数的和

问题描述

如何将两个字符数组里的数字相加得出两组数的和

char a[1000],b[1000]
两个数组里都是数字

解决方案

 void Add(char a[],char b[],char d[])
{
    char c[10001];
    int lena=strlen(a),lenb=strlen(b);
    int i,j,len;
    len=lena>lenb?lena:lenb;
    len++;
    c[0]='';
    for(i=1;i<=len;i++)c[i]='0';
    for(i=1;i<=lena;i++)c[i]+=a[lena-i]-48;
    for(i=1;i<=lenb;i++)c[i]+=b[lenb-i]-48;
    for(i=0;i<=len;i++)
        if(c[i]>57)
    {
            c[i]-=10;
            c[i+1]++;
        }

    for(i=len;i>1;i--)
        if(c[i]==48)len--;
        else break;
     for(i=0;i<=len;i++)
        d[i]=c[len-i];
}

char c[120];
Add(a,b,c);
printf("%s", c);
时间: 2024-09-10 04:44:17

求和-如何将两个字符数组里的数字相加得出两组数的和的相关文章

c语言:如何把一个整数按位保存在一个字符数组里,然后再读取出来还原为一个整数

问题描述 c语言:如何把一个整数按位保存在一个字符数组里,然后再读取出来还原为一个整数 void WitedataToFlash(void) { unsigned char i; sprintf(datal, "%luunsignedlong", gdvolt); for(i=0;i<11;i++) EEPROM_write(0x01+i,datal[i]); } /*********************************************************

字符指针和字符数组的使用区别

先看一个程序代码 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int main(){ char str1[] = "abc"; char str2[] = "abc"; char *str3 = "abc"; char *str4 = "abc&

java-有一个数组,数组里任意个数数字相加等于一固定数值,求出所有可能性的任意数字组合?

问题描述 有一个数组,数组里任意个数数字相加等于一固定数值,求出所有可能性的任意数字组合? 最近遇到一道java算法题,给定一个数组,求出数组里任意个数相加等于一固定数值,求出所有可能性的任意数字组合?求解答,用最原始的算法做出这道题,求大神指点,大神给出答案? 解决方案 /** * * @param arr * 数组 * @param num * 固定值 * @return 组合 */ public static List a(int[] arr, int num) { List strLis

abs-关于求一维数组里所有两元素之和的最小绝对值,求指点

问题描述 关于求一维数组里所有两元素之和的最小绝对值,求指点 题目详情给你一个数组A[n]请你计算出ans=min(|A[i]+A[j]|)(0<=ij例如:A={1, 4, -3},则:|A[0] + A[0]| = |1 + 1| = 2.|A[0] + A[1]| = |1 + 4| = 5.|A[0] + A[2]| = |1 + (-3)| = 2.|A[1] + A[1]| = |4 + 4| = 8.|A[1] + A[2]| = |4 + (-3)| = 1.|A[2] + A[

c语言-C语言里想要用函数创建一个新的字符数组,并使其等于原有的一个字符数组该怎么做?

问题描述 C语言里想要用函数创建一个新的字符数组,并使其等于原有的一个字符数组该怎么做? #include #include #include char map[4][4]; char creat()//创建一个新的字符数组 { char *maze=(char)malloc(sizeof(map)); return maze; } void main() { int i,j; for(i=0;i<4;i++) { gets(map[i]); } char *maze=creat(); strc

c++-编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。

问题描述 编程实现两字符串的连接.要求使用字符数组保存字符串,不要使用系统函数. 编程实现两字符串的连接.定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出.用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝. #include using namespace std; int main() { char a[500]; char b[500]; cin>>a; for(int i=0;i if(

两个stirng数组都有值,怎么判断两个数组里的值是否有相同?

问题描述 两个stirng数组都有值,怎么判断两个数组里的值是否有相同? 解决方案 第一种是嵌套一个二重循环,比较每一个元素,如果有则终止循环!第二种是遍历那个比较较短的数组,然后将每个元素与那个较长数组序列化以后的字串作比较,这里要注意到是,要找到能区分开每个元素的特殊字符将那个较长数组串联起来,然后做contans操作.伪代码如下:String[] str1 = {"11","22",.."88"};//较长数组String[] str2 =

图片-为什么第二个答案错了,求的是两者的和,使用字符数组转化为整形数组方法(题目限制)

问题描述 为什么第二个答案错了,求的是两者的和,使用字符数组转化为整形数组方法(题目限制) #include #include using namespace std; int main() { int p; char ca[1000],cb[1000]; int ia[1001],ib[1001],cs[1001]; int i; int n,m,t; int k,l; int x=1; cin>>p; while (p--) { cin>>ca; cin>>cb;

源代码-【二维字符数组】从键盘输入若干英文单词,单词最大长度不超过 15 个字母,把单词按照长度从大到小排序

问题描述 [二维字符数组]从键盘输入若干英文单词,单词最大长度不超过 15 个字母,把单词按照长度从大到小排序 用C语言来写,还没有学到指针,所以不要指针的写法,求大神给个源代码,我自己已经想了3个小时了还没有写出来. 解决方案 不用指针的话,没有办法动态分配内存,我们只能做一个假设,那就是键盘输入的单词不超过n(比如n=100,可以视作无限大) 至于排序,可以用冒泡都可以. 解决方案二: #include<string.h> #include<stdio.h> void main