樓主的意思是在str1中刪除str2中出現(xiàn)的字符?那么改成:

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計與策劃設(shè)計,揭東網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:揭東等地區(qū)。揭東做網(wǎng)站價格咨詢:18980820575
#includestdio.h
void main ()
{
char str1[9]={'t','i','n','m','f','g','y','f','s'};
char str2[3]={'A','s','g'};
int i,k,l;
for(i=0;i9;i++)
{
l=0;
for(k=0;k3;k++)
{
if (str1[i]=str2[k])
{l=1;break;}
}
if l!=1
printf("%c",str1[i]);
}
}
# includestdio.h
# includestdlib.h
# define M 5
struct student
{
int number;
char name[20];
struct student *next;
};
struct student *p,*pp,*q,*qq,*pop,*temp,*head=NULL;
void main()
{
struct student* cat(struct student *p,struct student *head,int n);
int i=1;
while(i=M)
{
q=(struct student *)malloc(sizeof(struct student));
printf("輸入第%d個結(jié)點學(xué)號和姓名:(注意有空格)\n",i);
scanf("%d %s",q-number,q-name);
if(head==NULL)
head=p=q;
p-next=q; //將新分配的結(jié)點連起來
p=p-next; //指針p指向最后一個結(jié)點
q-next=NULL; //最后一個結(jié)點的指針域置空
i++;
}
//輸出構(gòu)造的學(xué)生鏈表,作對照
printf("未被刪除前:\n");
p=head;
while(p!=NULL)
{
printf("%d\t%s",p-number,p-name);
printf("\n");
p=p-next;
}
int n;
printf("請輸入要刪除的位置");
scanf("%d",n);
//刪除結(jié)點
p=head;
pp=cat(p,head,n);
printf("元素被被刪除后:\n");
while(pp-next!=NULL)
{
printf("%d\t%s",pp-number,pp-name);
printf("\n");
pp=pp-next;
}
//輸出最后一個結(jié)點
printf("%d\t%s\n",pp-number,pp-name);
}
//刪除一個結(jié)點
struct student* cat(struct student *p,struct student *head,int n)
{
int i=1;
while(p!=NULL)
{
//for循環(huán)使p指向要被刪除的結(jié)點.q指向被刪除結(jié)點的前一個結(jié)點
for(i=1;in;i++)
{
q=p;
p=p-next;
}
if(p==head) //刪除結(jié)點為頭結(jié)點時
{
head=p-next;
free(p);
return head;
}
else if(p-next==NULL) //刪除結(jié)點為尾結(jié)點時
{
q-next=NULL;
free(p);
return head;
}
else
{
q-next=p-next; //刪除非頭尾結(jié)點時
free(p);
return head;
}
}
}
/*測試數(shù)據(jù)如下:*/
/*
輸入第1個結(jié)點學(xué)號和姓名:(注意有空格)
1000 wang
輸入第2個結(jié)點學(xué)號和姓名:(注意有空格)
1001 li
輸入第3個結(jié)點學(xué)號和姓名:(注意有空格)
1002 zhang
輸入第4個結(jié)點學(xué)號和姓名:(注意有空格)
1003 yan
輸入第5個結(jié)點學(xué)號和姓名:(注意有空格)
1004 zhao
未被刪除前:
1000 wang
1001 li
1002 zhang
1003 yan
1004 zhao
請輸入要刪除的位置1
元素被被刪除后:
1001 li
1002 zhang
1003 yan
1004 zhao
*/
/*
輸入第1個結(jié)點學(xué)號和姓名:(注意有空格)
1000 wang
輸入第2個結(jié)點學(xué)號和姓名:(注意有空格)
1001 li
輸入第3個結(jié)點學(xué)號和姓名:(注意有空格)
1002 zhang
輸入第4個結(jié)點學(xué)號和姓名:(注意有空格)
1003 yan
輸入第5個結(jié)點學(xué)號和姓名:(注意有空格)
1004 zhao
未被刪除前:
1000 wang
1001 li
1002 zhang
1003 yan
1004 zhao
請輸入要刪除的位置3
元素被被刪除后:
1000 wang
1001 li
1003 yan
1004 zhao
*/
/*
輸入第1個結(jié)點學(xué)號和姓名:(注意有空格)
1000 wang
輸入第2個結(jié)點學(xué)號和姓名:(注意有空格)
1001 li
輸入第3個結(jié)點學(xué)號和姓名:(注意有空格)
1002 zhang
輸入第4個結(jié)點學(xué)號和姓名:(注意有空格)
1003 yan
輸入第5個結(jié)點學(xué)號和姓名:(注意有空格)
1004 zhao
未被刪除前:
1000 wang
1001 li
1002 zhang
1003 yan
1004 zhao
請輸入要刪除的位置5
元素被被刪除后:
1000 wang
1001 li
1002 zhang
1003 yan
*/
既然是數(shù)組,表示數(shù)據(jù)為線性陣列了,想刪除其中一個數(shù)據(jù),是不可能的,只能用該位置以后的數(shù)據(jù)整體平移一個位置覆蓋當(dāng)前位置。例如:數(shù)組數(shù)據(jù) 1 2 3 4 5 6 7,想刪除3,那么得到的新數(shù)組為1 2 4 5 6 7,其中 4 5 6 7 數(shù)據(jù)的位置相對原始數(shù)組位置整體平移減小1。
當(dāng)然想是想快速刪除數(shù)據(jù),可以考慮使用數(shù)據(jù)鏈表,對數(shù)組單鏈即可
文章名稱:c語言函數(shù)如何刪除數(shù)據(jù),c語言刪除函數(shù)怎么寫
當(dāng)前URL:http://chinadenli.net/article42/hshgec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、App開發(fā)、微信公眾號、網(wǎng)站建設(shè)、、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)