将字符串 s1 的所有字符传送到字符串 s2 中,要求每传送三个字符就再存放一个星号。如字符串s1为"abcdefg",则字符串s2为"abc*def*g"。 #include <stdio.h> int main() { char s1[80], s2[80], *p = s1; int cnt = 0, k = 0; gets(p); while ( *p != '\0' ){ s2[k] = *p; k++; p++; cnt++; if ( ){ s2[k] = '*'; ; } } ; puts(s2); return 0; }
时间: 2023-12-11 19:02:03 浏览: 76
代码中需要在if语句的判断条件中加入每传送三个字符就再存放一个星号的条件,即cnt % 3 == 0。并且在if语句执行后,需要将cnt清零,以便下一组三个字符的判断。修改后的代码如下:
```
#include <stdio.h>
int main() {
char s1[80], s2[80], *p = s1;
int cnt = 0, k = 0;
gets(p);
while ( *p != '\0' ){
s2[k] = *p;
k++;
p++;
cnt++;
if ( cnt % 3 == 0 ){
s2[k] = '*';
k++;
cnt = 0;
}
}
s2[k] = '\0';
puts(s2);
return 0;
}
```