超长整数相加 c语言类,二个超长正整数的相加
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
看看這個,定義數組的長度為251,可以實現最長250位的兩個整數相加.
#include
#include
main()
{int?i;
char?str1[251]={0};
char?str2[251]={0};
char?str_rut[252]={0};
int?len_str1,len_str2,len_rut=0;
int?flag=0;?/*定義初始變量*/
clrscr();
printf("please?input?the?first?value:\n");
scanf("%s",str1);
printf("please?input?the?second?value:\n");
scanf("%s",str2);?/*輸入數據*/
len_str1=strlen(str1)-1;
len_str2=strlen(str2)-1;
while(len_str1>=0&&len_str2>=0)
{?*(str_rut+len_rut)=*(str1+len_str1)+*(str2+len_str2)+flag-48;
len_rut++;
flag=0;
if(*(str_rut+len_rut-1)>=58)
{?*(str_rut+len_rut-1)-=10;
flag=1;
}
len_str1--;
len_str2--;
}
while(len_str1>=0)
{
*(str_rut+len_rut)=*(str1+len_str1)+flag;
len_rut++;
flag=0;
if(*(str_rut+len_rut-1)>=58)
{?*(str_rut+len_rut-1)-=10;
flag=1;
}
len_str1--;
}
while(len_str2>=0)
{
*(str_rut+len_rut)=*(str2+len_str2)+flag;
len_rut++;
flag=0;
if(*(str_rut+len_rut-1)>=58)
{?*(str_rut+len_rut-1)-=10;
flag=1;
}
len_str2--;
}
if(flag==1)
*(str_rut+len_rut)=49;
len_str1=strlen(str1);
len_str2=strlen(str2);
len_str1=strlen(str1);
len_str2=strlen(str2);
strrev(str_rut);
printf("\n");
if(len_str1>len_str2)
{
printf("?%s\n",str1);
printf("+?");
for(i=1;i<=len_str1-len_str2;i++)
printf("?");
printf("%s\n",str2);
printf("--");
for(i=1;i<=len_str1;i++)
printf("-");
printf("\n=");
if(flag==0)?printf("?");
printf("%s\n",str_rut);
}
else?if(len_str1
{?printf("?");
for(i=1;i<=len_str2-len_str1;i++)
printf("?");
printf("%s\n",str1);
printf("+?%s\n",str2);
printf("--");
for(i=1;i<=len_str2;i++)
printf("-");
printf("\n=");
if(flag==0)?printf("?");
printf("%s\n",str_rut);
}
else
{?printf("?%s\n",str1);
printf("+?%s\n",str2);
printf("--");
for(i=1;i<=len_str1;i++)?printf("-");
printf("\n=");
if(flag==0)?printf("?");
printf("%s\n",str_rut);
}
system("pause");
}
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的超长整数相加 c语言类,二个超长正整数的相加的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言结构体输入身高体重,c++:输入n
- 下一篇: linux find d,Linux f