C语言求教! 30
3个回答
2015-12-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun(char *string,int a){
string[a]='w';
string[a+1]='e';
int i;
for(i=(a+3);i<strlen(string)-1;i++){
string[i-1]=string[i];
}
string[strlen(string)-1]='\0';
}
int main(void) {
char str[1000];
char sub[3]="you";
int len;
int i;
gets(str);
len=strlen(str);
for(i=0;i<len;){
if((str[i]==sub[0])&&(str[i+1]==sub[1])&&(str[i+2]==sub[2])){
fun(str,i);
i=i+2;
puts(str);
len--;
}
i++;
}
puts("end");
return EXIT_SUCCESS;
}
更多追问追答
追问
表示看不懂
请不要用函数,也不要用指针
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
int isLetter(char c){
if(c>='a' && c<='z') return 1;
if(c>='A' && c<='Z') return 1;
return 0;
}
int combine(char *dst,char *scr){
int i;
for(i=0;scr[i];i++)
if(isLetter(scr[i]))
dst[i]=scr[i];
else
break;
dst[i]='\0';
return i;
}
int main(){
char c[1024],w[1024];
int i;
while(gets(c)!=NULL){
for(i=0;c[i];i++){
if(isLetter(c[i])==0){
printf("%c",c[i]);
continue;
}
i+=combine(w,c+i)-1;
if(strcmp(w,"you")==0)
printf("we");
else
printf("%s",w);
}
printf("\n");
}
return 0;
}
更多追问追答
追问
还不会用指针
追答
#include<stdio.h>
#include<string.h>
int isLetter(char c){
if(c>='a' && c<='z') return 1;
if(c>='A' && c<='Z') return 1;
return 0;
}
int main(){
char c[1024],w[1024];
int i,j;
while(gets(c)!=NULL){
for(i=0;c[i];i++){
if(isLetter(c[i])==0){
printf("%c",c[i]);
continue;
}
for(j=0;c[i+j];j++)
if(isLetter(c[i+j]))
w[j]=c[i+j];
else
break;
w[j]='\0';
i+=j-1;
if(strcmp(w,"you")==0)
printf("we");
else
printf("%s",w);
}
printf("\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询