String 写一段C/C++;创建此从0000到BBBB计数的基数为12的数字列表的代码
我不知道该怎么办,我希望它打印0000到BBBB结尾,我一直在尝试使用printf语句,如果有人能帮我弄清楚这一点,那就太好了。谢谢String 写一段C/C++;创建此从0000到BBBB计数的基数为12的数字列表的代码,string,loops,for-loop,printing,String,Loops,For Loop,Printing,我不知道该怎么办,我希望它打印0000到BBBB结尾,我一直在尝试使用printf语句,如果有人能帮我弄清楚这一点,那就太好了。谢谢 #include <iostream> #include <iomanip> #include <string> using namespace std; int main() { char digits[] = "0123456789AB";
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
char digits[] = "0123456789AB";
for (int column1=0; column1<=12; column1++) {
for (int column2=0; column2<=12; column2++) {
for (int column3=0; column3<=12; column3++) {
for (int column4=0; column4<=12; column4++) {
std::cout<< digits[column2]<<endl;
}
}}}
return(0);
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符数字[]=“0123456789AB”;
对于(int column1=0;column1,最好参数化基和列计数,以避免许多嵌套的for
#include <iostream>
const int columnCount = 4, base = 12;
char digitToChar(int digit) {
if(digit >= 0 && digit <= 9) {
return '0' + digit;
} else {
return 'A' + digit - 10;
}
}
bool increment(int* number) {
int currentColumn = columnCount - 1;
++number[currentColumn];
while(number[currentColumn] == base) {
number[currentColumn] = 0;
--currentColumn;
if(currentColumn < 0) {
return false;
}
++number[currentColumn];
}
return true;
}
void outputNumber(int* number) {
for(int i = 0; i < columnCount; ++i) {
std::cout << digitToChar(number[i]);
}
std::cout << std::endl;
}
int main() {
int number[columnCount] = {0, 0, 0, 0};
bool overflow = false;
do {
outputNumber(number);
overflow = !increment(number);
} while(!overflow);
return 0;
}
#包括
const int columnCount=4,base=12;
字符数字卡(整数位){
如果(digit>=0&&digit4 for循环不是有史以来最漂亮的东西,但它们应该可以工作,我不确定这样做是否值得。所以保留现有的,只需打印所有数字:
std::cout<< digits[column1]<< digits[column2] << digits[column3] << digits[column4]<<endl;
std::coutthank这两种方法都有效,但这对我来说更容易理解。谢谢