题目描述
规定输入的字符串中只包含字母和*号,除了字符串前导和尾部的*号之外,将串中其他*号全部删除
输入
输入为多组测试数据。
输入数据包括一串字符串,只包含字母和*,总长度不超过80。
输出
输出删除中间*后的字符串。
样例输入
*******A*BC*DEF*G****
样例输出
*******ABCDEFG****
#include<stdio.h>
#include<string.h>
int main(){
char str[100];
int i=0,j,r,t,len;
while(scanf("%s",str)!=EOF){
while(str[i]=='*'){
i++;
}
len=strlen(str);
r=len-1;
while(str[r]=='*'){
r--;
}
for(j=0;j<i;j++){
printf("%c",str[j]);
}
for(j=i;j<=r;j++){
if(str[j]!='*'){
printf("%c",str[j]);
}
}
for(t=r+1;t<len;t++){
printf("%c",str[t]);
}
printf("\n");
i=0;
}
return 0;
}
自我反思:我刚开始做的时候,明明结果对了但是提交却错了。在仔细查找结果后,才发现原来不能使用gets()输入字符串,而要用scanf()。。。
换成scanf()输入后,提交就对了。