问题1:
数组第一列移到第二列
第二列移到第三列
…依次递推
最后一列移到第一列
测试用例如下:
代码如下:
void fun(int (*t)[N])
{ int i, j, x;
/**********found**********/
for(i=0; i<N; i++)
{
/**********found**********/
x=t[i][N-1] ;
for(j=N-1; j>=1; j--)
t[i][j]=t[i][j-1];
/**********found**********/
t[i][0]=x;//最后一行移到第一行
}
}
问题2:
代码:
void fun( char *a,int n )
{
char *p = a;
while (*p != '\0')
p++;
p--;//往前移一个位置
while (*p == '*')
p--;//定住最后一个字母 下一个就是*号
while (a < p)
a++;
int count = 0;
while (*a != '\0'&&count <= n)
{
a++;
count++;
}
*a = '\0';//字符串结束标志
}
小结:采用指针的方式可以很棒的解决这个问题