用C打印数字字符问题
用C打印如下数字字符
123456
612345
561234
456123
请问该如何实现,谢谢!
[解决办法]
#include <stdio.h>
print(char str[], int start)
{
int i;
int len = strlen(str);
for(i=0; i < len; i++)
printf("%c",str[(i+start) % len]);
printf("\n");
}
int main()
{
char array[64] = "123456";
print(array, 0);
print(array, 1);
print(array, 2);
print(array, 3);
return 0;
}
[解决办法]
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void test_func(char *pstr, int size)
{
int i;
char c;
for( i = 0 ;i < size; i++)
{
c = pstr[size -1];
memmove(pstr +1, pstr, size -1);
pstr[0] = c;
printf("pstr after: %s\n",pstr );
}
}
int main(void)
{
int a = 123456;
char pbuf[7] ={0};
sprintf(pbuf, "%d", a);
test_func(pbuf, 6);
}
这个这么完美,有什么不懂 ?
[解决办法]
for (int i=6;i>2;i--) printf("%.6s\n","123456123456"+i);
[解决办法]
#include <stdio.h>
int main()
{
int i, j, k = 6;
for (i = 1; i <= 6; ++i)
{
for (j = 1; j <= 6; ++j)
{
printf("%d ", j);
if(j == k)
printf("\n%d ", j);
}
--k;
}
return 0;
}
上面,多个临时变量!多余的