我正在尝试打印数字模式。尝试使用输入20运行此代码,您会看到标签空间都在错误的位置,他们不遵循命令。我知道标签空间跳转到下一个标题,但有没有办法避免它?
#include <stdio.h>
int main()
{
int i, n, count = 0;
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
printf("%dnumber\t", i);
count++;
if(count == 4)
{
count = 0;
printf("\n");
}
}
return 0;
}
注意:有没有办法只使用制表符空格(例如,&#34; \ t&#34;而不是使用普通的空格)。
这是我得到的输出。
但我想要的是这个
答案 0 :(得分:4)
这里有几个不同的问题。
但听起来你的主要问题是“gee:标签不符合我的预期。”
建议替代方案:
考虑在printf()
中使用“字段长度说明符”:
http://www.cplusplus.com/reference/cstdio/printf/
实施例
printf ("%-20s", mystring); // Will always be exactly 20 characters
printf ("%06d", myint); // 6-digits, zero filled
答案 1 :(得分:1)
为什么不:
#include <stdio.h>
int main( void )
{
int i = 0;
int n = 0;
scanf( "%d", &n );
for( i = 1; i <= n; i++ )
{
printf( "%02dnumber\t", i );
if( i % 4 == 0 )
printf("\n");
}
return 0;
}
输出:
16
01number 02number 03number 04number
05number 06number 07number 08number
09number 10number 11number 12number
13number 14number 15number 16number
希望它有所帮助!