pta上的作业,但是这代码不对劲,但是自个又看不出来
以指针的方式,将某个字符串中出现的特定字符删去,然后输出新的字符串。输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。 每组测试数据输入一个字符串s和一个非空格字符t。其中s的长度不超过100,且只包含英文字母。
输出格式:
对于每组测试,将删掉t后新得到的字串输出。如果串被删空,则输出“NULL”(引号不必输出)。
输入样例:
2
eeidliecielpvu i
ecdssnepffnofdoenci e
输出样例:
eedlecelpvu
cdssnpffnofdonci
这是自己打的代码
#include <stdio.h>
int main()
{
int i,j,m=0;
int n;
scanf("%d",&n);
char a[]={0};//定义一个指针指向数组,p+i就指向二维数组的第i行
char t={0};
for(i=0;i<n;i++)scanf("%s %c",&a,&t);
char (*p)=a;
for(i=0;i<n;i++){
for(j=0;p!='\0';j++){
if(p!=t){
p=p;m=m+1;
}
}p='\0';
}
for(i=0;i<n;i++){
if(p=='\0')printf("NULL");
else printf("%s\n",p+i);
}
return 0;
} for (i = 0; i<n; i++) {
m = 0; //需要每次清0吧
for (j = 0; p != '\0'; j++) {
if (p != t) {
p = p; m = m + 1;
}
}p = '\0';
} #include <stdio.h>
int main(){
int T;
scanf("%d", &T);
char str, res, t;
for(int i = 0; i < T; i++){
scanf("%s", str);
getchar();
scanf("%c", &t);
for(int j = 0, n = 0; str; j++)
if(str != t)
res = str;
}
for(int i = 0; i < T; i++) printf("%s\n", res);
return 0;
}
页:
[1]