问题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';//字符串结束标志
}
小结:采用指针的方式可以很棒的解决这个问题
本文详细解析了如何通过C语言实现数组元素的循环右移,以及利用指针处理字符串删除特定字符的方法,提供了完整的代码示例,展示了指针在解决实际问题中的高效应用。
1万+

被折叠的 条评论
为什么被折叠?



