#include <stdio.h> #include <string.h> int main() { int a[100],b[100],c[100]; char ch1[100],ch2[100]; int i,peace=0; int index=0; int k,j; printf("请输入第一个数字:\n"); scanf("%s",ch1); for(i=0;i<strlen(ch1);i++) //把字符数字转换成整数数字,进行数字相加。 a[strlen(ch1)-i-1]=ch1[i]-'0'; printf("请输入第二个数字:\n"); scanf("%s",ch2); //同上 for(i=0;i<strlen(ch2);i++) b[strlen(ch2)-i-1]=ch2[i]-'0'; for(i=0;i<strlen(ch1) && i<strlen(ch2);i++)//相同位数的相加 { c[i]=(a[i]+b[i]+peace)%10; peace=(a[i]+b[i])/10; index++; } if(strlen(ch1)>strlen(ch2)) //位数多的数字进行进位运算 { k=strlen(ch2); j=strlen(ch1); for(i=k;i<j;i++) { c[i]=(a[i]+peace)%10; peace=(a[i]+peace)/10; index++; } } else { k=strlen(ch1); j=strlen(ch2); for(i=k;i<j;i++) { c[i]=(b[i]+peace)%10; peace=(b[i]+peace)/10; index++; } } if(peace) //最高位进1 { c[i]=peace; index++; } for(i=index-1;i>=0;i--) //输出 printf("%d",c[i]); putchar('\n'); return 0; }