首页 > 其他分享 >415. 字符串相加c

415. 字符串相加c

时间:2024-03-20 09:36:16浏览次数:25  
标签:return num1 num2 int 相加 char 415 字符串 strlen

void reverse(char* num1, int n){
    int head=0,tail=n-1;
    while(head<=tail){
        char c=num1[head];
        num1[head]=num1[tail];
        num1[tail]=c;
        head++;
        tail--;
    }
}

int max(int i,int j){
    if(i>j) return i;
    return j;
}

char * addStrings(char * num1, char * num2){
    int n1=strlen(num1),n2=strlen(num2);
    char* temp=(char*)malloc(sizeof(char)*15000);
    for(int i=0;i<15000;i++) temp[i]=0;
    int pre=0,index=0;
    reverse(num1,n1);
    reverse(num2,n2);
    int n=max(n1,n2);
    while(index < n ){
        int a=0,b=0;
        if(index<n1) a=num1[index]-'0';
        if(index<n2) b=num2[index]-'0';
        temp[index++]=(a+b+pre)%10+'0';    
        pre=(a+b+pre)/10;      
    }
    if(pre==1) temp[n]=1+'0';
    reverse(temp,strlen(temp));
    return temp;
}

 

标签:return,num1,num2,int,相加,char,415,字符串,strlen
From: https://www.cnblogs.com/llllmz/p/18084468

相关文章

  • 本题要求实现一个删除字符串中的指定字符的简单函数
    #include<stdio.h>#defineMAXN20voiddelchar(char*str,charc){  intj;  for(inti=0;*(str+i)!='\0';i++)  {    if(*(str+i)==c)    {      *(str+i)=*(str+i+1);      i--;      for......
  • Java 编程实例:相加数字、计算单词数、字符串反转、元素求和、矩形面积及奇偶判断
    Java如何相加两个数字相加两个数字示例intx=5;inty=6;intsum=x+y;System.out.println(sum);//打印x+y的和输出11解释首先,声明两个int类型的变量x和y,并分别赋值为5和6。然后,使用+运算符将x和y相加,并将结果赋给变量sum。最后,使用Sy......
  • Lazaurs调用VC的dll,字符串参数有中文的解决方法
    问题:在VC中定义了一个函数extern"C"__declspec(dllexport)inttest(constchar*filename)filename中可能有中文。Lazarus调用test传英文没问题,传中文出错。1、在VC项目设置-高级中选择“使用Unicode字符集”  --这个也是VC的默认值2、在lazarus中在项目设置-编译器......
  • 1.字符串专题
    字符串专题\(A\)CF1037HSecurity\(B\)CF1073GYetAnotherLCPProblem\(C\)CF906EReverses\(D\)CF666EForensicExamination\(E\)P4199万径人踪灭\(F\)CF1535FStringDistance\(G\)CF1400Fx-primeSubstrings\(H\)CF955DScissors\(I\)CF153......
  • C语言进阶篇之字符函数和字符串函数(含模拟实现库函数)
    本篇主要整理了C语言字符函数和字符串函数的介绍,使用,以及库函数的模拟,持续更新中。老铁们,整理不易,创作不易,先赞后看养成习惯,你的支持是对我更新最大的鼓励!函数介绍与模拟实现1.1strlen求字符串长度size_tstrlen(constchar*str);注:1.字符串已经'\0'作为结束标......
  • 459. 重复的子字符串c
    voidbuild(int*next,char*s,intn){next[0]=-1;intindex=1,j=-1;while(index<n){if(j==-1||s[index-1]==s[j]){j++;next[index++]=j;}else{j=next[j];}}for(inti=0;......
  • 28. 找出字符串中第一个匹配项的下标c
    voidbulid(int*next,char*s,intn){next[0]=-1;intindex=1,j=-1;while(index<n){if(j==-1||s[index-1]==s[j]){j++;next[index++]=j;}else{j=next[j];}}}intstrStr(c......
  • C语言判断回⽂字符串
    使用C语言判断这个字符串是否是回⽂字符串(字符串的长度小于等于30,字符串不包含空格),如果是回文字符串输出Yes,如果不是回⽂字符串输出No。回文串:是一个正读和反读都一样的字符串方法:1.使用两个指针分别放置在字符串的头和尾,进行比较,如果相同,则头++,尾–.不同则结束判断......
  • java判断拼音字符串是不是汉字全拼
    publicstaticvoidmain(String[]args){Stringstr="wange";Stringstr1="huanggong";Stringstr2="wang文胜";Stringstr3="heihiyijiaren";Stringstr4="huangt......
  • 字符串增加千分位 负号提前处理
    *千分位DATA:LV_STRTYPESTRING,LV_CURRCTYPESTRING,LV_TMP1TYPESTRING,LV_TMP2TYPESTRING,LV_LENTYPEI,LV_LEN1TYPEI,LV_LEN2TYPEI,LV_LEN3TYPEI,LV_LEN4TYPEI.DATA:LV_CURRTYPEBAPICURR-BA......