for(int i = 0i <rowsi++)
{
for(int j = 0j <colsj++)
{
scanf("%c", &arr[i][j])
}
}
同样的,也可以使用for循环来逐行输出多行三列的字符串:
for(int i = 0i <rowsi++)
{
for(int j = 0j <colsj++)
{
printf("%c", arr[i][j])
}
}
函数功能:将输入字符串 src循环右移n位 result为输出结果
要求:以效率最高的方式实现
示例:
“abcde” --2-->"deabc"
"abcde"--8-->"cdeab"
void right_shift_r(const char* src,char* result,unsigned int n)
{
unsigned int len = strlen(src)
int i=0
for(i=0i<leni++)
{
result[i] = src[i+n]%len
}
}
for(i=0i<strlen(a)i++){//这里嵌套循环,循环a数组,依次取a的元素,然后匹配以该元素开头的字符串是否和b数组一样
//如果该元素开头后面和b都一样,那么子j循环结束,标识变量flag就是1,
//那么下面c循环就是通过元素移位,从a数组中删除对应字符。最后剩下的就是你要的。
// puts(a)打印移位删除后剩余的内容
for(j=0j<strlen(b)j++){
if(a[i+j]==b[j])
flag=1
else
flag=0
}
if(flag==1){
for(c=ic<strlen(a)c++)
a[c]=a[c+strlen(b)]
}
}
puts(a)