1. 加法
输入采用字符数组保存,然后将输入存在整形数组里,然后逐位相加即可,同时注意进位处理。
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- char m[555],n[555];
- int i,len_m,len_n,len_max,k;
- int a[555]={0},b[555]={0},c[555]={0};
- scanf("%s",m);
- len_m =strlen(m);
- for(i=0;i<=len_m -1;i++)
- a[i]=m[len_m -1 -i]-'0';
- len_n=strlen(n);
- for(i=0;i<=len_n -1;i++)
- b[i]=n[len_n -1 -i]-'0';
- if(len_m>len_n)
- len_max=len_m;
- else
- len_max=len_n;
- k=0;
- for(i=0;i<=len_max -1;i++)
- {
- c[i]=(a[i]+b[i]+k)%10;
- k=(a[i]+b[i]+k)/10;
- }
- if(k!=0) c[len_max]=1;
- if(c[len_max]==1) printf("1");
- for(i=len_max -1;i>=0;i--)
- printf("%d",c[i]);
- return 0;
- }
2. 减法
原理同加法一样(不确定两个数的大小关系)
比较两数大小:先比较长度,再按位比较(按位比较没写)
copy