1樓:匿名使用者
估計題目你沒有看懂啊,程式其實不難,用字串來做更簡單void jian(char *a,char *b,char *c) //ab為減數,c為結果,你也可以abc為全域性陣列
,b1[100]=,c1[100]=; //賦值0防干擾int i,j,flag;
int la,lb,lc;
la=strlen(a);
lb=strlen(b);
lc=la>lb?la:lb;
strrev(a);
strrev(b);
if(strcmp(a,b)) //保證a1是大的樹else
for(i=0;i for(i=0;i b1[i]=b[i]-48; c[0]=a[0]-b[0]; //先算個位for(i=1;i c[i]=a[i]-b[i]; }while(c[lc-1]) //處理最高位的那些0lc--; for(i=0;i c1[i]=c[i]+48; if(flag) strrev(c1); strcpy(c,c1); }main() 2樓:匿名使用者 意思就是把一個一維陣列輸出為一個整數 就想你那個例子 x= 輸出的時候合在一起35169402 很簡單int i = x[0],n = 0; for(int n = 1; n < 8; n++)i = ix10+x[n]; 這樣就搞定了 第一輪迴圈 i = 3x10+5=35; 第二輪 i = 35x10+1=351; 第三輪 i = 351x10+6=3516;......... 一直迴圈到陣列最後一位,輸出i的值就是35169402了; 3樓:匿名使用者 unsigned long 最大隻能表示2^31 才10^9級別 題目給的整數是100位的 10^99次方級別的 根本存不下,所以要用陣列存整數 然後模擬減法的過程 4樓:匿名使用者 比如c[10]=a[10]-b[10]<0,則a[9]=a[9]-1;c[10]=a[10]-b[10]+10;類推 因為你的s是一個二維陣列。如果你的s是一維陣列,像s 20 這樣,那麼在gets時不需要加 0 你定義的s是個二維陣列,並且是char型別,所以每一行存放一個字串。s n 代表第n 1行,而gets時的引數需要是一個字串指標,或者字串陣列名,所以這裡必須要寫作gets s n 其中0 n 20 我明... int main i for i 0 i 這個要問數學老師才知道。c語言陣列問題 你的 問題有以下幾個 1 min和max沒有初始化 2 對於a min 和a max 沒有做迴圈參考 如下 include main printf 最大數是 d,下標是 d,最小數是 d,下標是 d n a max m... for month 0 month printf 4.1f subtot years 這句 subtot years 一直是0 因為分子小於分母 c語言一維陣列輸入並求和,輸入時a 0 和a 1 之間會多出一個數,但是結果卻不會影響,這是 出錯了啊?你好!把你 scanf 內的 n 去掉吧 原因是你...
c語言二維陣列
c語言陣列問題,C語言陣列問題
C語言陣列雨量求和不知道哪錯了,C語言一維陣列輸入並求和,輸入時a 0 和a 1 之間會多出一個數,但是結果卻不會影響,這是哪裡出錯了啊?