atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
OIT Archive
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
OIT Archive
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
OIT Archive
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • OIT Archive
  • C演習I 14

OIT Archive

C演習I 14

最終更新:2011年05月18日 00:47

oit-archive

- view
管理者のみ編集可
worke1.c
  1. #include <stdio.h>
  2.  
  3. #define KETA 12
  4.  
  5. int main(void){
  6. /* 整数8421065536の多倍長数表現 */
  7. int a[KETA] = {0, 0, 8, 4, 2, 1, 0, 6, 5, 5, 3, 6};
  8. int b[KETA];
  9. int i;
  10.  
  11. /* 多倍長数aを多倍長数bにコピーする */
  12. for (i=0; i<KETA; i++){
  13. b[i] = a[i];
  14. }
  15.  
  16. /* 配列bの内容を表示する */
  17. printf("b = ");
  18. for (i=0; i<KETA; i++){
  19. printf("%d", b[i]);
  20. }
  21. printf("\n");
  22.  
  23. return 0;
  24. }
  25.  

worke2.c
  1. #include <stdio.h>
  2. #define KETA 12 /* 多倍長数の桁数 */
  3. int main(void){
  4. int a[KETA];
  5. int i;
  6.  
  7. /* 多倍長数aをキーボードから入力 */
  8. printf("Input a: ");
  9. for (i=0; i<KETA; i++){
  10. scanf("%d", &a[i]);
  11. }
  12.  
  13. /* 多倍長数aを表示 */
  14. printf("a = ");
  15. i=0;
  16. while (a[i]==0 && i<=KETA-2){
  17. i++;
  18. }
  19. while (i<KETA){
  20. printf("%d", a[i]);
  21. i++;
  22. }
  23. printf("\n");
  24. return 0;
  25. }
  26.  

worke3.c
  1. #include <stdio.h>
  2. #define KETA 12 /* 多倍長数の桁数 */
  3. int main(void){
  4. int a[KETA] = {0, 0, 8, 4, 2, 1, 0, 6, 5, 5, 3, 6};
  5. int b[KETA] = {0, 0, 8, 6, 4, 2, 0, 9, 7, 5, 3, 1};
  6. int c[KETA];
  7. int i, tmp;
  8. int carry = 0; /* 下位からの繰り上がり */
  9.  
  10. /* 多倍長数(c)←多倍長数(a)+多倍長数(b) */
  11. carry = 0;
  12. for (i=KETA-1; i>=0; i--){
  13. tmp = a[i] + b[i] + carry;
  14. c[i] = tmp % 10;
  15. carry = tmp / 10;
  16. }
  17.  
  18. /******** 別解 ****************
  19.   for (i=0; i<KETA; i++){
  20.   c[i] = a[i] + b[i];
  21.   }
  22.   for (i=KETA-1; i>=1; i--){
  23.   c[i-1] = c[i-1] + c[i]/10;
  24.   c[i] = c[i] % 10;
  25.   }
  26.   ******** ここまで別解 ********/
  27.  
  28. /* cの内容を出力(課題2を再利用) */
  29. printf("c = ");
  30. i=0;
  31. while (c[i]==0 && i<=KETA-2){
  32. i++;
  33. }
  34. while (i<KETA){
  35. printf("%d", c[i]);
  36. i++;
  37. }
  38. printf("\n");
  39.  
  40. return 0;
  41. }
  42.  

worke4.c
  1. #include <stdio.h>
  2. #define KETA 12 /* 多倍長数の桁数 */
  3. int main(void){
  4. int a[KETA] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0};
  5. int b[KETA] = {0, 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
  6. int i;
  7.  
  8. /* 多倍長数(a) ← 多倍長数(a) - 多倍長数(b) */
  9. for (i=KETA-1; i>=0; i--){
  10. a[i] = a[i] - b[i];
  11. if (a[i] < 0){
  12. /* (注意)(a>bを仮定しているので,
  13.   添字(i-1)が負になることは無い */
  14. a[i-1]--;
  15. a[i] = a[i] + 10;
  16. }
  17. }
  18.  
  19. /* aの内容を出力(課題2を再利用) */
  20. printf("a = ");
  21. i=0;
  22. while (a[i]==0 && i<=KETA-2){
  23. i++;
  24. }
  25. while (i<KETA){
  26. printf("%d", a[i]);
  27. i++;
  28. }
  29. printf("\n");
  30.  
  31. return 0;
  32. }
  33.  

worke5.c
  1. #include <stdio.h>
  2. #define KETA 12 /* 多倍長数の桁数 */
  3. int main(void){
  4. int a[KETA] = {0, 0, 0, 0, 0, 0, 0, 6, 5, 5, 3, 6};
  5. int x = 35;
  6. int i;
  7. int tmp;
  8. int carry = 0; /* 下位からの繰り上がり */
  9.  
  10. /* 多倍長数(a) ← 多倍長数(a) * int型(x) */
  11. for (i=KETA-1; i>=0; i--){
  12. tmp = a[i] * x + carry;
  13. a[i] = tmp % 10;
  14. carry = tmp / 10;
  15. }
  16.  
  17. /******** 別解 ********
  18.   for (i=0; i<KETA; i++){
  19.   a[i] = a[i] * x;
  20.   }
  21.   for (i=KETA-1; i>=1; i--){
  22.   a[i-1] = a[i-1] + a[i]/10;
  23.   a[i] = a[i] % 10;
  24.   }
  25.   ******** ここまで別解 ********/
  26.  
  27. /* aの内容を出力(課題2を再利用) */
  28. printf("a = ");
  29. i=0;
  30. while (a[i]==0 && i<=KETA-2){
  31. i++;
  32. }
  33. while (i<KETA){
  34. printf("%d", a[i]);
  35. i++;
  36. }
  37. printf("\n");
  38.  
  39. return 0;
  40. }
  41.  

worke6.c
  1. #include <stdio.h>
  2.  
  3. #define KETA 100 /* 多倍長数の桁数 */
  4. #define N 50 /* 1からNまでの階乗を計算する */
  5.  
  6. int main(void){
  7. int fact[KETA] = {0};
  8. int i; /* 多倍長数を操作するときのループ変数 */
  9. int n; /* 1からNまでの階乗を計算するときのループ変数 */
  10. int tmp;
  11. int carry = 0;
  12.  
  13. /* 多倍長数factを1に設定する.配列の宣言時に全要素を0で
  14.   初期化しているので,末尾要素に1を格納するのみでよい.*/
  15. fact[KETA-1] = 1;
  16.  
  17. for (n=1; n<=N; n++){
  18.  
  19. /* 多倍長数(fact) ← 多倍長数(fact) * int型(n)
  20.   (課題5のプログラムを再利用) */
  21. for (i=KETA-1; i>=0; i--){
  22. tmp = fact[i] * n + carry;
  23. fact[i] = tmp % 10;
  24. carry = tmp / 10;
  25. }
  26.  
  27. /* 多倍長数aを表示(課題2のプログラムを再利用) */
  28. printf("%2d! = ", n);
  29. i=0;
  30. while (fact[i]==0 && i<=KETA-2){
  31. i++;
  32. }
  33. while (i<KETA){
  34. printf("%d", fact[i]);
  35. i++;
  36. }
  37. printf("\n");
  38. }
  39. return 0;
  40. }
  41.  

worke7.c
  1. #include <stdio.h>
  2. #define KETA 12
  3. int main(void){
  4. int a[KETA] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1};
  5. int x = 365;
  6. int i;
  7. int tmp;
  8.  
  9. /* 多倍長数(a) ← 多倍長数(a) ÷ int型(x) */
  10. tmp = 0;
  11. for (i=0; i<KETA; i++){
  12. tmp = tmp*10 + a[i];
  13. a[i] = tmp / x;
  14. tmp = tmp % x;
  15. }
  16.  
  17. /* 多倍長数aを表示(課題2を再利用) */
  18. printf("a = ");
  19. i=0;
  20. while (a[i]==0 && i<=KETA-2){
  21. i++;
  22. }
  23. while (i<KETA){
  24. printf("%d", a[i]);
  25. i++;
  26. }
  27. printf("\n");
  28. return 0;
  29. }
  30.  
「C演習I 14」をウィキ内検索
LINE
シェア
Tweet
OIT Archive
記事メニュー

MENU

  • TOP
+ C演習I
C演習I
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14

+ Java
Java
  • 07

Network

ここを編集
記事メニュー2
取得中です。
申し訳ありませんが、recent_ref プラグインは提供を終了し、ご利用いただけません。

合計: -
今日: -
昨日: -
TOP合計: -


ここを編集
人気記事ランキング
  1. C演習I
  2. Java
もっと見る
最近更新されたページ
  • 214日前

    TOP/コメントログ
  • 5127日前

    Java演習 08
  • 5127日前

    Java
  • 5136日前

    メニュー
  • 5136日前

    Java演習 07
  • 5144日前

    Network
  • 5144日前

    C演習I 10
  • 5144日前

    C演習I 11
  • 5144日前

    C演習I 12
  • 5144日前

    C演習I 13
もっと見る
人気記事ランキング
  1. C演習I
  2. Java
もっと見る
最近更新されたページ
  • 214日前

    TOP/コメントログ
  • 5127日前

    Java演習 08
  • 5127日前

    Java
  • 5136日前

    メニュー
  • 5136日前

    Java演習 07
  • 5144日前

    Network
  • 5144日前

    C演習I 10
  • 5144日前

    C演習I 11
  • 5144日前

    C演習I 12
  • 5144日前

    C演習I 13
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. GTA5 MADTOWN(β)まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. SYNDUALITY Echo of Ada 攻略 ウィキ
  6. ガンダムGQuuuuuuX 乃木坂46部@wiki
  7. 星飼いの詩@ ウィキ
  8. ドタバタ王子くん攻略サイト
  9. パズル&コンクエスト(Puzzles&Conquest)攻略Wiki
  10. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. MadTown GTA (Beta) まとめウィキ
  4. ゲームカタログ@Wiki ~名作からクソゲーまで~
  5. 初音ミク Wiki
  6. 発車メロディーwiki
  7. 検索してはいけない言葉 @ ウィキ
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. オレカバトル アプリ版 @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. anbrella(餡ブレラ) - ストグラ まとめ @ウィキ
  2. 参加者一覧 - ストグラ まとめ @ウィキ
  3. モンスター一覧_第2章 - モンスター烈伝オレカバトル2@wiki
  4. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
  5. 刃牙 りえる - ストグラ まとめ @ウィキ
  6. ウシ(マリオカート) - アニヲタWiki(仮)
  7. Lycoris - MadTown GTA (Beta) まとめウィキ
  8. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  9. アルフォート ウェスカー - ストグラ まとめ @ウィキ
  10. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.