タイトル
2進整数(10010など)を10進整数に変換し、ファイルに保存する関数を記述しますoutput.txt
。main()
関数に上記関数を呼び出すN(1〜10)倍コール数random()
生成機能。
テストサイト分析
- 2進数を10進数に変換するアルゴリズム
- ファイル出力ストリーム
- 乱数生成と範囲制限
コード
#include<iostream>
#include<fstream>
#include<ctime>
using namespace std;
int power2(int n) {
int res = 1;
for (int i = 0; i < n; i++)
res *= 2;
return res;
}
ofstream of("outputFile.txt"); //要设置全局变量,要是设置在函数里,每次都会覆盖上一次的输出文件
void output(int n) {
int dec = 0;
for (int i = 0; n != 0; i++) {
int temp = n % 10;
n /= 10;
dec += temp * power2(i);
}
of << dec << endl;
}
int main() {
srand((unsigned)time(0)); //种子
int times = (rand() % 10) + 1; //随机生成调用次数
int n;
for (int i = 0; i < times; i++) {
cin >> n;
output(n);
}
return 0;
}