69,373
社区成员
发帖
与我相关
我的任务
分享
sed -e 's/[我你他谁]/\*/g' -e 's/朋友/\*\*/g' 1.txt
sed -e 's/[我你他谁]/\*/g' -e 's/朋友/\*\*/g' -e 's/[^\*]//g' 1.txt | wc -L
//定义“我”“你”“他”“谁”“朋友”为关键字,导入一个文本1.txt,文本内容为:
//我和你是朋友,你和他是朋友,但是我不知道他是谁。
//要求将关键字替换为星号(*),输出:
//*和*是**,*和*是**,但是*不知道*是*。
//并输出*号的个数
#include <stdio.h>
#include <string.h>
#include <locale.h>
char k[5][5]={"我","你","他","谁","朋友"};
FILE *f;
char ln[256];
int n,L,i,j;
int main() {
setlocale(LC_ALL,"chs");
f=fopen("1.txt","r");
if (NULL==f) {
printf("Can not open file 1.txt!\n");
return 1;
}
fgets(ln,256,f);
fclose(f);
n=0;
L=strlen(ln);
for (i=0;i<L;i+=2) {
for (j=0;j<5;j++) {
if (0==strncmp(ln+i,k[j],strlen(k[j]))) break;
}
if (j<4) {
printf("*");
n++;
} else if (j<5) {
printf("**");
n+=2;
i+=2;
} else {
printf("%.2s",ln+i);
}
}
printf("%d\n",n);
return 0;
}
//*和*是**,*和*是**,但是*不知道*是*。
//11
//
#include <stdio.h>
#include <string.h>
char s[256];
char *p;
int r,n,i;
int main() {
while (1) {
printf("请输入一行文字(空行结束),\"%%20\"将替换为\" \",\"你懂得\"将替换为\"XXXXXX\":\n");
fgets(s,256,stdin);
if ('\n'==s[0]) break;
p=s;
while (1) {
p=strstr(p,"%20");
if (p) {
memmove(p+1,p+3,strlen(p)-3+1);
p[0]=' ';
} else break;
}
p=s;
while (1) {
p=strstr(p,"你懂得");
if (p) {
memmove(p+6,p+6,strlen(p)-6+1);
for (i=0;i<6;i++) p[i]='X';
} else break;
}
printf("%s",s);
}
return 0;
}
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//abcdefg%20helloworld%20something.pdf
//abcdefg helloworld something.pdf
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//这是测试文字你懂得,在这个你懂的地方,就得做你懂得的事
//这是测试文字XXXXX,在这个你懂的地方,就得做XXXXX的事
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//