【掲示板ご利用上の注意】
※題名は具体的に! ※学校の課題の丸投げ禁止! ※ソースの添付は「HTML変換ツール」で字下げ! ※返信の引用は最小限に! ※環境(OSとコンパイラ)や症状は具体的に詳しく! ※マルチポスト(多重投稿)は謹んで! 詳しくはこちら
本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。 守ってくださいね。お願いします。(by管理人)
C言語ソース⇒HTML形式ツール 掲示板2はこちら
筆算と同じコトをすればいい。一の位から繰り上がりを考慮して加える。 /* * 123456789 + 987654321 = ? */ #include <stdio.h> int main() { int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int b[] = { 0, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; int c[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; int i, carry; carry = 0; for ( i = 9; i >= 0; --i ) { int n = a[i] + b[i] + carry; c[i] = n % 10; /* i位の答 */ carry = n / 10; /* 上位への繰り上がり */ } for ( i = 0; i < 10; ++i ) { printf("%d",c[i]); } return 0; }