樓主的意思是在str1中刪除str2中出現(xiàn)的字符?那么改成:
成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),揭東網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:揭東等地區(qū)。揭東做網(wǎng)站價(jià)格咨詢: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個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)\n",i);
scanf("%d %s",q-number,q-name);
if(head==NULL)
head=p=q;
p-next=q; //將新分配的結(jié)點(diǎn)連起來
p=p-next; //指針p指向最后一個(gè)結(jié)點(diǎn)
q-next=NULL; //最后一個(gè)結(jié)點(diǎn)的指針域置空
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("請輸入要?jiǎng)h除的位置");
scanf("%d",n);
//刪除結(jié)點(diǎn)
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;
}
//輸出最后一個(gè)結(jié)點(diǎn)
printf("%d\t%s\n",pp-number,pp-name);
}
//刪除一個(gè)結(jié)點(diǎn)
struct student* cat(struct student *p,struct student *head,int n)
{
int i=1;
while(p!=NULL)
{
//for循環(huán)使p指向要被刪除的結(jié)點(diǎn).q指向被刪除結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn)
for(i=1;in;i++)
{
q=p;
p=p-next;
}
if(p==head) //刪除結(jié)點(diǎn)為頭結(jié)點(diǎn)時(shí)
{
head=p-next;
free(p);
return head;
}
else if(p-next==NULL) //刪除結(jié)點(diǎn)為尾結(jié)點(diǎn)時(shí)
{
q-next=NULL;
free(p);
return head;
}
else
{
q-next=p-next; //刪除非頭尾結(jié)點(diǎn)時(shí)
free(p);
return head;
}
}
}
/*測試數(shù)據(jù)如下:*/
/*
輸入第1個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1000 wang
輸入第2個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1001 li
輸入第3個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1002 zhang
輸入第4個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1003 yan
輸入第5個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1004 zhao
未被刪除前:
1000 wang
1001 li
1002 zhang
1003 yan
1004 zhao
請輸入要?jiǎng)h除的位置1
元素被被刪除后:
1001 li
1002 zhang
1003 yan
1004 zhao
*/
/*
輸入第1個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1000 wang
輸入第2個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1001 li
輸入第3個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1002 zhang
輸入第4個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1003 yan
輸入第5個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1004 zhao
未被刪除前:
1000 wang
1001 li
1002 zhang
1003 yan
1004 zhao
請輸入要?jiǎng)h除的位置3
元素被被刪除后:
1000 wang
1001 li
1003 yan
1004 zhao
*/
/*
輸入第1個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1000 wang
輸入第2個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1001 li
輸入第3個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1002 zhang
輸入第4個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1003 yan
輸入第5個(gè)結(jié)點(diǎn)學(xué)號(hào)和姓名:(注意有空格)
1004 zhao
未被刪除前:
1000 wang
1001 li
1002 zhang
1003 yan
1004 zhao
請輸入要?jiǎng)h除的位置5
元素被被刪除后:
1000 wang
1001 li
1002 zhang
1003 yan
*/
既然是數(shù)組,表示數(shù)據(jù)為線性陣列了,想刪除其中一個(gè)數(shù)據(jù),是不可能的,只能用該位置以后的數(shù)據(jù)整體平移一個(gè)位置覆蓋當(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://vcdvsql.cn/article42/hshgec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、App開發(fā)、微信公眾號(hào)、網(wǎng)站建設(shè)、、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)