解题思路:
个人笔记:a、b 两个字符串数组保存整数,c、e 两个整型数组保存每一位数字,d 数组用来交换,
y数组用来计算。。。
注意事项:
参考代码:
#include<iostream> #include<algorithm> #include<string.h> #include<stdlib.h> using namespace std; int main() { char a[1100],b[1100],d[1100]; int c[1100],e[1100],y[1100]; int i,t,w,j,m1,m2; cin>>a; cin>>b; m1=strlen(a) ;m2=strlen(b); //以m1为主要的长度,两个整形数组分别保存一个,保持m1最短 if(m1>m2) //数组和长度都要交换 { t=m1;m1=m2;m2=t; strcpy(d,a); strcpy(a,b); strcpy(b,d); } j=0;w=0; //从后面取出来存放 for(i=m1-1;i>=0;i--) c[j++]=a[i]-'0'; // 将字符转换为整型进行存储 for(i=m2-1;i>=0;i--) e[w++]=b[i]-'0'; // 将字符转换为整型进行存储 for(i=0;i<m1;i++) y[i]=c[i]+e[i]; // 每位相加 /* 每位相加:12345 111 ------- 666 y[i]先保存345和111的各自的总合,最后再把多出来的12放在后面 */ for(i=m1;i<m2;i++) //把最长那个保存起来,也是转化整型 y[i]=e[i]; for(i=0;i<m2;i++) { if(i!=m2-1) //最后一位就算是大于10也不用理它 if(y[i]>=10) { y[i]=y[i]-10; y[i+1]=y[i+1]+1; } } for(i=m2-1;i>=0;i--) cout<<y[i]; cout<<endl; return 0; }
0.0分
0 人评分
WU-整除问题 (C++代码)浏览:648 |
WU-拆分位数 (C++代码)浏览:819 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:703 |
C二级辅导-分段函数 (C语言代码)浏览:659 |
C二级辅导-等差数列 (C语言代码)浏览:806 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:476 |
数列排序 (C语言代码)浏览:674 |
C二级辅导-统计字符 (C语言描述——用函数求解)浏览:1229 |
求教大神。。。。1063,统计字符。浏览:11704 |
字符逆序 (C语言代码)求大神指出错处,运行结果尝试了也与要求一样,但就是说结果错误,不知错在哪里浏览:446 |