下面的程序用于输出字符串s2在字符串s1中出现的次数,该程序的运行结果是2。请在标号处填入适当的语句或表达式。(注意:每个标号处至多只能填一条语句或一个表达式,每空3分,共18分) #include <iostream> using namespace std; (1) int main( ) { char s1[ ]="xyzaba123xyz456xy", s2[ ]="xyz"; cout<< (2) <<endl; return 0;
时间: 2023-06-09 08:06:59 浏览: 99
```c
#include<stdio.h>
#include<string.h>
int main()
{
char s1[]="abaabcab";
char s2[]="ab";
int count=0,i,j,len1,len2;
len1=strlen(s1);
len2=strlen(s2);
for(i=0;i<=len1-len2;i++)
{
for(j=0;j<len2;j++)
{
if(s1[i+j]!=s2[j])
break;
}
if(j==len2)
count++;
}
printf("%d",count); //标号
return 0;
}
```
标号处填入:
```c
//标号1
```
相关问题
与山应标节语句狂释,标号4写对应完整程序块注释)。 #include <stdio.h> void del space(char*sl); /(1) int main(int arge, char *argv]) char s,="hasdf g"; puts(s); //(2) del_space(s); puts(s); //(3) return 0; void del space(char*sl) chars2; s2=s1 while (*sl) if(*s1='") s1++; else ( *s2=*s1; s1++; s2++; -1/(4) *s2 ="10'; 注释: (1) (2) (3) (4) 简述完整程序功能:
以下是完整程序块注释:
```c
#include <stdio.h>
// 声明函数del_space
void del_space(char *sl);
int main(int argc, char *argv[]) {
// 初始化字符串s
char s[] = "hasdf g";
// 输出原字符串s
puts(s);
// 调用函数del_space对s进行处理
del_space(s);
// 输出处理后的字符串s
puts(s);
// 程序执行完毕,返回0
return 0;
}
// 定义函数del_space
void del_space(char *sl) {
// 定义辅助字符串s2
char s2[100];
// 将s1指向字符串sl的头部
char *s1 = sl;
// 将s2指向字符串s1的头部
char *s2_ptr = s2;
// 遍历字符串s1中的每个字符
while (*s1) {
// 当字符不是空格时,将字符存储在s2中,并将s2的指针后移
if (*s1 != ' ') {
*s2_ptr = *s1;
s2_ptr++;
}
// 将s1的指针后移
s1++;
}
// 将s2的末尾字符赋值为'1'
*(s2_ptr++) = '1';
// 将s2的末尾字符赋值为'0'
*(s2_ptr++) = '0';
// 将处理后的字符串s2拷贝回原字符串sl的位置
while (*s2) {
*sl = *s2;
sl++;
s2++;
}
// 将字符串sl的末尾设置为'\0',表示字符串结束
*sl = '\0';
}
```
该程序的功能是将字符串中的空格字符删除,并在字符串末尾添加字符'1'和'0'。程序首先定义了一个辅助字符串s2来存储处理后的结果,然后遍历原字符串中的每个字符,将不是空格的字符存储在s2中。最后将处理后的字符串s2拷贝回原字符串的位置,并在字符串末尾添加字符'1'和'0'。
阅读全文