企业网站样式,互联网广告销售是做什么的,微网站 微信网站,app定制网站建设应有尽有这是昨天那道题#xff0c;这个后面自己的处理思路还是差了点#xff0c;这道题关键感觉就是对进位的处理的#xff0c;由于进位的存在#xff0c;所以处理数据的时候只能从最低位开始#xff0c;我一开始是从高位处理的#xff0c;而且后面越来越迷#xff0c;这个点一…这是昨天那道题这个后面自己的处理思路还是差了点这道题关键感觉就是对进位的处理的由于进位的存在所以处理数据的时候只能从最低位开始我一开始是从高位处理的而且后面越来越迷这个点一直没有反应过来。不过不是很理解这个前导 0 到底上面意识因为我用gpt写了一个之前它的貌似并没有处理前导 0 但还是过了。 gpt写的不过它这个将字符转换成整数的处理还可以。
#include stdio.h
#include string.hint main() {char a[201] {0};char b[201] {0};int d[201] {0};int n 0, i 0, j 0;scanf(%s %s, a, b);int na strlen(a);int nb strlen(b);int m na nb ? na : nb;int carry 0;for (i m - 1, j na - 1, n nb - 1; i 0; i--, j--, n--) {int x (j 0 ? a[j] - 0 : 0) (n 0 ? b[n] - 0 : 0) carry;d[i] x % 10;carry x / 10;}if (carry 0) {printf(%d, carry);}for (i 0; i m; i) {printf(%d, d[i]);}return 0;
}我根据gpt的又改了一下主要就是多了个对前导0的处理
int main()
{char a[201] { 0 };char b[201] { 0 };int d[201] { 0 };scanf(%s %s, a, b);int na strlen(a), nb strlen(b), n (nanb?na:nb), i 0, j 0, m 0;int carry 0;for (j na - 1, i nb - 1, m n - 1; m 0; i--, j--, m--){int x (j 0 ? a[j] - 0 : 0) (i 0 ? b[i] - 0 : 0) carry;d[m] x % 10; carry x / 10;}m 0;if (carry 0)printf(%d, carry);else{while (d[m] 0) m;
//这里处理前导 0 }for (i m; i n; i)printf(%d, d[i]);return 0;
}