質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

2回答

1085閲覧

進数を選択して、数値を進数化するプログラム

programs011

総合スコア41

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

1クリップ

投稿2020/11/03 17:42

編集2020/11/03 18:33

このプログラムはn進数から10進数にするプログラムなのですが、数値と進数を選択させて、進数化するプログラムに直していただきたいです

数値と進数を選択して、その進数化された数値を出すプログラム

#include <stdio.h> #include <string.h> #include <math.h> int main(void){ int a,tmp, kisu, keta, result, i,j; int motoData[128]; printf("変換する数値と基数を入力して下さい。(入力形式は 数値/基数)\n"); scanf("%d/%d", &a, &kisu); tmp = a; /*** 桁数のカウント ***/ keta = 0; do{ //2行で書けます } while (a > 0); printf("桁数-->%d\n", keta); /*** 1ケタずつ配列に入れる ***/ a = tmp; for (i=keta; i>=1; i--){ //2行で書けます。 //ちなみに,10の2乗は、pow(10,2)です。 } /*** 10進数に変換 ***/ result = 0; for (i=keta; i>=1; i--){ //1行で書けます。 } /*** 結果出力 ***/ printf(" %d進数:", kisu); for (i=keta; i>=1; i--){ printf("%d", motoData[i]); } printf("\n"); printf("10進数:%d\n",result); return 0; } **ボールドテキスト**

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/11/03 18:17

質問の内容は何でしょうか?
episteme

2020/11/03 21:43

呈示されたコードは「n進数から10進数にするプログラム」ではないような... たとえば 2進数の1001を10進数に変換できますか?
kazuma-s

2020/11/03 23:32

16進数 FF を 10進数に変換しようと思って FF/16 と入力しても、 scanf("%d/%d", &a, &kisu); では a に FF を読み込めません。
dodox86

2020/11/03 23:56

こちらの質問から進んでいない、ということですね。 [進数のプログラムを作る]https://teratail.com/questions/299746 むしろ、自力でゼロから作れるようになってからでないと、「2行で書けます」「1行で書けます」という部分に当てはめられないかもしれないですね。
guest

回答2

0

そもそも n進数 は「表記法」であって「」ではありません。

ですから

C

1 int a, kisu; 2 3 printf("変換する数値と基数を入力して下さい。(入力形式は 数値/基数)\n"); 4 scanf("%d/%d", &a, &kisu);

この時点でマチガイ。16進の 2AC3 を入力できませんから。
※ 指定基数を2~10 に制限しないかぎり。

投稿2020/11/04 00:28

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

n進数の変換は、

  • nで割って余りを列挙する
  • 桁ごとにnを掛けていく

ということで実装できます

投稿2020/11/03 23:50

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問