#include<iostream.h>
#include<stdio.h>
int length(char[]);
void number(char[],char[]);
int main()
{
char a[100],b[100],c[100];
cout<<"請輸入a:";
cin>>a;
cout<<"請輸入b:";
cin>>b;
number(a,b);
return 0;
}
int length(char a[])
{
for(int i=0;i<100;i++)
{
if(a[i]=='\0')
break;
}
return i;
}
void number(char a[],char b[])
{
int i;
int over,temp;
int x=length(a);
int y=length(b);
int j=x,k=y;
if(x>y)
i=x;
else
i=y;
char c[100]={0};
if(x==y)
{
for(;i>0;i--,j--,k--)
{
temp=a[j-1]+b[k-1]+over-'0';
c[i+1]=temp%10;
over=temp/10;
}
cout<<c;
}
else if(x>y)
{
for(;i>0;i--,j--,k--)
{
while(i>x-y)
{
temp=a[j-1]+b[k-1]+over-'0';
c[i+1]=temp%10;
over=temp/10;
}
temp=a[j-1]+over-'0';
c[i+1]=temp%10;
over=temp/10;
}
cout<<c;
}
else
{
for(;i>0;i--,j--,k--)
{
while(i>x-y)
{
temp=a[j-1]+b[k-1]+over-'0';
c[i+1]=temp%10;
over=temp/10;
}
temp=b[k-1]+over-'0';
c[i+1]=temp%10;
over=temp/10;
}
cout<<c;
}
}
uj5u.com熱心網友回復:
錯誤太多,邏輯也搞得太復雜。而且錯誤比如
temp=a[j-1]+b[k-1]+over-'0'; 想加其實應該是
temp=a[j-1]+b[k-1]+over-2*'0';
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/166888.html
標籤:C++ 語言
上一篇:Qt環境變數設定
