C語言大數相減(考慮相減為負數情況)

2021-10-12 01:49:51 字數 944 閱讀 7596

同時考慮到相減之後為負數的情況和相減之後為0的情況

#include #include int main()

,bb[100]=,cc[100];

char a[100],b[100];

scanf("%s %s",a,b);

int m,n,len,flage1=0;

/*flage1代表相減之後是否為負數

代表用前邊那個數減後邊那個數還是用後邊那個數減去前邊那個數

*/m = strlen(a);

n = strlen(b);

int i;

/* 將大數字串轉化為整數並反轉,單個儲存在陣列之中

*/ for(i = 0; i < m; i ++)

for(i = 0; i < n; i ++)

/*判斷第乙個數與第二個數的大小,len取較大的乙個數的長度

如果前面那個數較大,則flage1 = 0;如果後面的那個數較大,則flage1 = 1;

*/ if(m > n)

else if(m == n)

if(aa[i] < bb[i])

}} else

if(flage1 == 0)

}} if(flage1 == 1)

}} //判斷相減之後是否等於0 。。。例如:1111-1111=0000 經上邊陣列計算之後就會有4個0

int s = 0;

for(i = 0; i < len; i ++) }

if(s == 0) //s = 0就代表相減之後每個陣列都儲存的是 0,然後就輸出乙個0就行

if(s != 0)

printf("\n");

} if(flage1 == 1)

printf("\n");

} }return 0;

}

大數相減(不支援負數)

define crt secure no warnings include include include define n 1000 此處可以改輸入大資料的位數 struct add number typedef struct add number a n a n node a n head,in...

C語言 位址相減

舉乙個小例子說明一下,c中位址相減的結果是比較有趣的。例 int a 3 int s1,s2 char t1,t2 a 0 1 a 1 2 a 2 3 s1 a s2 a 2 s2 s1 t1 char a t2 char a 2 t2 t1 解析 s2 s1 2 t2 t1 8 why?c語言中的...

大數問題 相乘,相減,相加 C 實現

c 自帶的long long型別表示的最大值是9223372036854775807 19位 如果有兩個超過這個範圍的數進行運算,就不能使用c 編譯器自帶的 了。我們把這種大數用c 裡面的string型別進行處理,處理過程中要注意進製 借位 字元轉數字的問題。string add string st...