2012-08-31 148 views
0

我真的需要一个起点的帮助。我们必须使用这3个循环来生成一个十进制数字的表格,以及十进制数字的二进制,八进制和十六进制等效表达式,范围为1-256。帮助将不胜感激。C++ for循环,while循环,while循环来生成十进制数的表格

+4

你是怎么想出你自己的? –

+0

它是什么样的表?数组,矢量,文本文件,别的东西?你在谈论数字的字符串表示吗?更加详细一些。 – jrok

+0

这个问题很模糊,不完整,而且过于宽泛。你没有给我们足够的细节来帮助你解决它。 – Wug

回答

0

看看这个网页了解符:http://www.cplusplus.com/reference/clibrary/cstdio/printf/

如果使用printf和包含%d,然后你要打印一个小数。如果使用%x,则会得到相同数字的无符号十六进制数。

例如:

int i; 
for(i=1;i<=256;i++){ 
    printf("the number %d in dec: %d",i,i); \\prints i 
    printf("the number %d in hex: %x",i,i); \\prints i in hex. 
    printf("the number %d in oct: %o",i,i); \\prints i in oct. 
} 

OR

int i = 1; 
while(i<=256) { 
    ... 
    i++; 
} 

OR

int i = 1; 
do { 
    ... 
    i++; 
} while (i<=256); 

有关类型的循环本页面会谈:http://www.tutorialspoint.com/cplusplus/cpp_loop_types.htm

+0

你将如何打印二进制数字? –

+0

为什么还有“,我,我);”在第一个例子中的陈述结尾处? –

+0

@ D.Zuber你认为它的确如此...... –

1

如果你不知道去哪儿 开始这是...不是一个好兆头。也许你应该和老师在一起,以免落后。

无论如何,其基本思想是:

for loop counting from 1 to 256 
    write counter in decimal form 
    write counter in binary form 
    write counter in hex form 
    write counter in octal form 
end loop 

你真的不需要三个环路,但你可以打破它分为三,如果你不得不这样做。您可以将不同的格式说明符传递给printf等来格式化您的输出。

+2

我认为他需要三个循环,因为赋值是使用'for',''while'和'do/while'语言结构中的每一个,而不是因为产生表需要三个循环。 –

+0

@ MichaelBurr:嗯,你可能是对的,足够公平 –

+0

是的我需要使用“while”循环来生成二进制数字,“for”循环来生成八进制数字,以及“do..while”循环生成十六进制数字,并且它表示程序应该在不使用任何字符串格式的情况下将结果打印到控制台.. –