又增一战徒增烦恼

来源:互联网 发布:水滴软件下载 编辑:程序博客网 时间:2024/06/05 22:49
#include<stdio.h>#include<string.h>int main(){    char str1[1010];    char str2[1010];    char str3[1020];    str3[0]=='0';    int t,i,a;    int counter = 0;    scanf("%d",&t);    for (i = 0;i < t;i ++){        scanf("%s",&str1);        scanf("%s",&str2);        int j,k,p;        int flag = 0;//用来做标        if (strlen(str1)>=strlen(str2)){            for (j = strlen(str1)-1,k = strlen(str2)-1,p=0;j!=-1;j--,k--,p++){                ;//从这里开始循环。                if (k == -1){for(a=0;a<1008;a++)str2[a]='0';k=1000;}                if (p==0&&str1[j]+str2[k]>105){                    str3[p+1]='1';                    str3[p]=str1[j]+str2[k]-58;                    if(j==0)flag = 1;                }                else if (str1[j]+str2[k]+str3[p]>153){                    str3[p+1]='1';                    if(str3[p]=='1')str3[p]=str1[j]+str2[k]-57;                    else str3[p]=str1[j]+str2[k]-58;                    if(j==0)flag = 1;                }                else if(str3[p]=='1'){str3[p]=str1[j]+str2[k]-47;str3[p+1]='0';}                else  {str3[p]=str1[j]+str2[k]-48;str3[p+1]='0';}            }}                 else {            for (j = strlen(str1)-1,k = strlen(str2)-1,p=0;k!=-1;j--,k--,p++){                ;//从这里开始循环。                if (j == -1){for(a=0;a<1008;a++)str2[a]='0';j=1000;}                if (p==0&&str1[j]+str2[k]>105){                    str3[p+1]='1';                    str3[p]=str1[j]+str2[k]-58;                    if(k==0)flag = 1;                }                else if (str1[j]+str2[k]+str3[p]>153){                    str3[p+1]='1';                    if(str3[p]=='1')str3[p]=str1[j]+str2[k]-57;                    else str3[p]=str1[j]+str2[k]-58;                    if(k==0)flag = 1;                }                else if(str3[p]=='1'){str3[p]=str1[j]+str2[k]-47;str3[p+1]='0';}                else  {str3[p]=str1[j]+str2[k]-48;str3[p+1]='0';}            }}            counter ++;            printf("Case %d:\n",counter);            if (flag == 0)p--;            printf("%s + %s = ",str1,str2);            for (p;p>-1;p--)                printf("%c",str3[p]);            printf("\n\n");        }    return 0;}
自定义加法。
原创粉丝点击