コマンドラインに非負整数 n と 正整数 B (2 ≦ B ≦ 64) が与えられたとき、 n、B に続けて n の B 進表現とその桁数 m を1行として書き出すプログラムを作りたいです。
その書き出す形式はつぎのとおりです。
数値 n、B は、 必要最小限の桁数で書き出し、その間に @ を書き出す。
その後、前後に空白を置いて = を書き出し、続けて、n の B 進表現を必要最小限の桁数で書き出す。
その後に、n の B 進表現を書き出した桁数 m を角括弧 [ ] で括って必要最小限の桁数で書き出す。
これらの書出しが全て終わったところで改行を書き出す。
プログラムは、つぎの仕様をもつ関数 show の関数定義が与えられているとして作ること。
int show(int value, int base);
// 非負整数 value の base進表現を
// 必要最少の桁数で標準出力に書き出す
// 2<=base<=64
// この関数は書き出した桁数を返す
// なお、六十四進までの数値表現に使う数字と
// その表す値の対応はつぎのとおりとする
// 数字 0123456789ABCDEF
// 値 0 10
// 数字 GHIJKLMNOPQRSTUV
// 値 16 20 30
// 数字 WXYZabcdefghijkl
// 値 32 40
// 数字 mnopqrstuvwxyz+/
// 値 48 50 60
c
1#include<stdio.h>2#include"show.h"3intmain(int argc,char*argv[]){45 ・・・ コマンドラインから与えられる整数値 n, B を使って
6 n の B 進表現を書き出すとともに、それを書き出すのに要した
7 必要最小限の桁数を書き出す。
8 ただし、関数 show を使用する
910return0;11}
Don't ask, search.
See https://teratail.com/questions/11252
Mr. Cateye gives you good advice.
Feel free to ask me to rewrite in Latin.
(Japanese? No way! You are a language learner, aren't you? Try to use it to be a good bilingual!)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。