提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:这里可以添加本文要记录的大概内容:
#include<stdio.h>
#include<string.h>
int addnumber_inverted(char result[],char s1[],char s2[]);
int multiple_x_single(char result[],char x1[],char multiplier);
int multiple_x_10(char result[],char x1[]);
int multiple_x_many(char result[],char x1[],char x2[]);
void reverse_string(char s[]);
char mid_result[400]={0},number[400];
char add_result[400]={0},num1[400]={0},num2[400]={0},multinum,last_result[400];
int ad[400],fl=0;
int main()
{
printf("请输入第一个数字:\n");
scanf("%s",num1);
printf("请输入第二个数字:\n");
scanf("%s",num2);
reverse_string(num1);
reverse_string(num2);
//printf("yy:%s\nyy:%s\n",num1,num2);
//num1[0]=num1[0]+1;
//printf("num1:%s\n\n",num1);
addnumber_inverted(add_result,num1,num2);
reverse_string(add_result);
printf("两者相加的结果为:\n");
if(fl) printf("1");
printf("%s",add_result);
}
int addnumber_inverted(char result[],char s1[],char s2[])//int
{
int s1_length,s2_length,length,x,i,pos,mn,mx;
i=0;
while(s1[i]!='\0')
{
i++;
}
s1_length=i-1; //printf("s1:%d\n\n",i-1);
i=0;
while(s2[i]!='\0')
{
i++;
}
s2_length=i-1; //printf("s2:%d\n\n",i-1);
if(s1_length>s2_length)
{
mx=s1_length;
mn=s2_length;
strcpy(mid_result,s1);
strcpy(number,s2);
}else{
mx=s2_length;
mn=s1_length;
strcpy(mid_result,s2);
strcpy(number,s1);
}
pos=0;
//printf("mx:%d mn:%d\n\n",mx,mn);
while(pos<=mx)
{
// printf("add:%d\n",ad[pos]);
if(pos<=mn) x=mid_result[pos]-'0'+number[pos]-'0'+ad[pos];
else x=mid_result[pos]-'0'+ad[pos];
//printf("x:%d\n",x);
//if(x>9)
{
mid_result[pos]=x%10+'0';
/*if(mid_result[pos+1]!=0)
{
mid_result[pos+1]=x/10+mid_result[pos+1];
}else{
mid_result[pos+1]=x/10+'0';
}*/
ad[pos+1]=x/10;//printf("mid:%s\n",mid_result);
pos++;
}
//printf("pos:%d\n",pos);
/* while(mid_result[pos]>'9')
{
x=mid_result[pos]-'0';
mid_result[pos]=x%10+'0';
if(mid_result[pos+1]!=0)
{
mid_result[pos+1]=x/10+mid_result[pos+1];
}else{
mid_result[pos+1]=x/10+'0';
}
pos++;
}*/
}
if(ad[pos]) fl=1;
strcpy(result,mid_result);
}
void reverse_string(char s[])//int
{
char mid[400]={0};
int i=0,pos=0,length=0;
while(s[i]!='\0')
{
i++;
}
length=i-1;
for(i=length;i>=0;i--)
{
mid[i]=s[length-i];
}
for(i=0;i<=length;i++)
{
s[i]=mid[i];
}
}
提示:以下是本篇文章正文内容,下面案例可供参考