C语言,利用指针编写程序:删除一个字符串中的某一个字符 C语言 删除字符串中的指定字符'*',要求用指针,谢谢~

C\u8bed\u8a00\uff0c\u5229\u7528\u6307\u9488\u7f16\u5199\u7a0b\u5e8f\uff1a\u5220\u9664\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u7684\u67d0\u4e00\u4e2a\u5b57\u7b26

1\u3001\u5176\u5b9e\u5934\u51fd\u6570\u6bcf\u4e2a\u90fd\u9700\u8981\u7528\u5230\u7684\u5c31\u662f#include \uff0c\u56e0\u4e3a\u7a0b\u5e8f\u91cc\u9762\u6d89\u53ca\u5230\u4e86\u8f93\u51fa\u548c\u8f93\u5165\u5b57\u7b26\u4e32\u4ee5\u53ca\u5b57\u7b26\u3002#include \u3002

2\u3001\u5176\u6b21\u5c31\u662f\u8981\u5b9a\u4e49\u4e24\u4e2a\u76f8\u540c\u5bb9\u91cf\u7684\u5b57\u7b26\u4e32\u50a8\u5b58\u7684\u53d8\u91cf char a[100]; char b[100];\u3002\u4ee5\u53ca\u6574\u6570\u53d8\u91cf int c; int i=0,j=0; \u5176\u4e2da[100]\u662f\u5b58\u5b57\u7b26\u4e32\u7684\uff0cb\u3010100\u3011\u662f\u5b58\u4f60\u5220\u9664\u5bf9\u5e94\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\u7684\uff0c\u6574\u6570C\u662f\u4f60\u60f3\u5220\u9664\u7b2c\u51e0\u4f4d\u3002j \uff0ci \u662f\u540e\u9762for\u5faa\u574f\u4e2d\u8981\u4f7f\u7528\u5230\u7684\u53d8\u91cf\u3002

3\u3001 printf("\u8bf7\u8f93\u5165\u4f60\u7684\u5b57\u7b26\u4e32"); scanf("%s",a); printf("\u8bf7\u8f93\u5165\u4f60\u60f3\u8981\u5220\u9664\u7b2c\u51e0\u4f4d\u5b57\u7b26"); scanf("%d",&c)\u3002

4\u3001 for(i=0;i<strlen(a);i++) { if(i+1!=c) { b[j]=a[i]; j++; } } printf(" %s",b); } \u3002

5\u3001\u53ea\u8981\u5f53i+1\u4e0d\u7b49\u4e8ec\u65f6\u628aa\u3010i\u3011\u91cc\u9762\u7684\u5b57\u7b26\u8d4b\u7ed9b\u3010i\u3011\uff0c\u90a3\u4e48\u8fd9\u6837\u5f53i+1=c\u65f6\u4e0d\u628a\u5b83\u8d4b\u7ed9b\u3010i\u3011\u4ece\u800c\u5b9e\u73b0\u5220\u9664\u529f\u80fd\u3002

6\u3001\u6700\u540e\u5c31\u7ed9\u5927\u5bb6\u5b8c\u6574\u7684\u770b\u4e00\u4e0b\u6574\u4f53\u7684\u4e00\u4e2a\u4ee3\u7801\u6d41\u7a0b\u3002

\uff03include\uff1cstdio\uff0eh\uff1e
intmain\uff08\uff09
\uff5b
charstr\uff3b100\uff3d\uff1b
char\uff0ap\uff0c\uff0aq\uff1b
charc\uff1b
gets\uff08str\uff09\uff1b
c\uff1dgetchar\uff08\uff09\uff1b
for\uff08p\uff1dstr\uff0cq\uff1dstr\uff1b\uff0ap\uff01\uff1d\uff07\uff3c0\uff07\uff1bp\uff0b\uff0b\uff09\uff0f\uff0f\u7528\u6307\u9488\uff0ap\u53bb\u63d0\u53d6str\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\uff0c\u7528\u6307\u9488\uff0aq\u53bb\u5220\u9664str\u4e2d\u9700\u8981\u5220\u9664\u7684\u5143\u7d20
if\uff08\uff0ap\uff01\uff1dc\uff09
\uff0a\uff08q\uff0b\uff0b\uff09\uff1d\uff0ap\uff1b
\uff0aq\uff1d\uff0ap\uff1b
puts\uff08str\uff09\uff1b
return0\uff1b
\uff5d

\u6269\u5c55\u8d44\u6599\uff1a\u5176\u5b83\u65b9\u6cd5\uff1a
\uff03include\uff1cstdio\uff0eh\uff1e
intmain\uff08\uff09
\uff5b
charstr\uff3b100\uff3d\uff1b
char\uff0aq\uff1b
charc\uff1b
inti\uff1b
gets\uff08str\uff09\uff1b
c\uff1dgetchar\uff08\uff09\uff1b
for\uff08i\uff1d0\uff0cq\uff1dstr\uff1bstr\uff3bi\uff3d\uff01\uff1d\uff07\uff3c0\uff07\uff1bi\uff0b\uff0b\uff09
if\uff08str\uff3bi\uff3d\uff01\uff1dc\uff09
\uff0a\uff08q\uff0b\uff0b\uff09\uff1dstr\uff3bi\uff3d\uff1b
\uff0aq\uff1dstr\uff3bi\uff3d\uff1b
puts\uff08str\uff09\uff1b
return0\uff1b
\uff5d

你好!

根据程序来说:

for(p = s, q = s; *p! = '\0'; p++)
    if(*p != del_x)
        *q++ = *p;
*q = *p;
puts(s);

如果还没有理解的话可以用实例来分析一下,对于字符串 s =“abcabc”,删除字符‘a’,简单设s起始位置为0,则s[0]='a',s[1]='b',s[2]='c',s[3]='a',s[4]='b',s[5]='c',s[6]='\0'

此时*q = *p,即s[4] = '\0' 表示字符串结束,最后新字符串s = “bcbc”



#include<stdio.h>int main(){char s[100],*p ,*q ;puts("输入小于100个字符:");gets(s);char del_x;printf("输入要删除的字符:");scanf("%c",&del_x);for(p=s,q=s;*p!='\0';p++)  if(*p!=del_x)*q++=*p;*q=*p;puts(s);return 0;}



  • C璇█ 鍒犻櫎瀛楃涓蹭腑鐨勬寚瀹氬瓧绗'*',瑕佹眰鐢ㄦ寚閽,璋㈣阿锝
    绛旓細锝 charstr锛100锛斤紱char锛妏锛岋紛q锛沜harc锛沢ets锛坰tr锛夛紱c锛漡etchar锛堬級锛沠or锛坧锛漵tr锛宷锛漵tr锛涳紛p锛侊紳锛囷技0锛囷紱p锛嬶紜锛夛紡锛忕敤鎸囬拡锛妏鍘绘彁鍙杝tr涓瘡涓涓厓绱锛岀敤鎸囬拡锛妐鍘鍒犻櫎str涓渶瑕佸垹闄ょ殑鍏冪礌 if锛堬紛p锛侊紳c锛夛紛锛坬锛嬶紜锛夛紳锛妏锛涳紛q锛濓紛p锛沺uts锛坰tr锛夛紱return0锛涳綕 ...
  • C璇█,鍒╃敤鎸囬拡缂栧啓绋嬪簭:鍒犻櫎涓涓瓧绗︿覆涓殑鏌愪竴涓瓧绗
    绛旓細1銆佸叾瀹炲ご鍑芥暟姣忎釜閮介渶瑕鐢鍒扮殑灏辨槸#include <stdio.h>锛屽洜涓绋嬪簭閲岄潰娑夊強鍒颁簡杈撳嚭鍜岃緭鍏ュ瓧绗︿覆浠ュ強瀛楃銆#include <string.h>銆2銆佸叾娆″氨鏄瀹氫箟涓や釜鐩稿悓瀹归噺鐨勫瓧绗︿覆鍌ㄥ瓨鐨勫彉閲 char a[100]; char b[100];銆備互鍙婃暣鏁板彉閲 int c; int i=0,j=0; 鍏朵腑a[100]鏄瓨瀛楃涓茬殑锛宐銆100銆戞槸...
  • C璇█鎸囬拡鍒犻櫎瀛楃涓
    绛旓細include <stdio.h>#include <string.h>int main(){ char str[]="ABCDEFGHIJK",*p=NULL,*p1=NULL; int n,m,len=strlen(str); printf("鍘熷瓧绗︿覆锛%s\n",str); printf("浠庣n涓瓧绗﹀紑濮嬬殑鍒犻櫎m涓瓧绗︼紝璇疯緭鍏,m鐨勫硷細"); scanf("%d%d",&n,&m); p=str+n-1;...
  • C璇█,鍒╃敤鎸囬拡缂栧啓绋嬪簭:鍒犻櫎涓涓瓧绗︿覆涓殑鏌愪竴涓瓧绗
    绛旓細p = 1锛宷 = 0锛屾鏃*p=s[1]='b'锛屼笉闇鍒犻櫎锛璁板綍*q鍗硈[0] = 'b'锛宷 = q+1 p = 2锛宷 = 1锛屾鏃*p=s[2]='c'锛屼笉闇鍒犻櫎锛岃褰*q鍗硈[1] = 'c'锛宷 = q+1 p = 3锛宷 = 2锛屾鏃*p=s[3]='a'锛岄渶瑕佸垹闄わ紝鍒欎笉璁板綍 p = 4锛宷 = 2锛屾鏃*p=s[4]='b'锛屼笉...
  • C璇█ 缂栧啓绋嬪簭,鍦ㄤ竴涓暣鍨嬫暟缁勪腑鏌ユ壘鏌愪釜鏁板苟灏嗗叾鍒犻櫎銆(瑕佹眰鐢ㄦ寚閽...
    绛旓細鍐浜嗕釜锛屽叏閮鐢ㄦ寚閽銆俰nclude<stdio.h>int main (){ int a[10], n; int *p1, *p2; printf("Input 10 numbers: "); for(p1 = a; p1 < a + 10; p1++) scanf("%d", p1); printf("Input number: "); scanf("%d", &n); for(p1 = a; p1 < a ...
  • 鐢–璇█涓殑鎸囬拡缂栧啓涓涓鍒犻櫎瀛楃涓蹭腑閲嶅瀛楃鐨勫嚱鏁
    绛旓細include<stdio.h>void fun(char *str) { char *p; int f[256],i; for ( i=0;i<256;i++ ) f[i]=0; p=str; while ( *p ) { if ( f[*p]==0 ) { *str=*p; str++; } f[*p]++; p++; } *str=0;}void main() { char str[256]; gets(str); ...
  • C璇█ 鍒濆鑰呯敤涓涓鎸囬拡鍒犻櫎瀛楃涓蹭腑鐨勭┖鏍笺傘
    绛旓細int main(){ char *s=malloc(256);char *p=s,offset=0;/*offset璁板綍鏁版嵁浜ゆ崲鐨勯棿闅*/ printf("璇疯緭鍏ヤ竴涓瓧绗︿覆锛歕n");fgets(s,256,stdin);printf("鍘荤┖鏍煎墠:\n%s",s);while(*p!='\0'){ if(*p==' ')offset++;p++;(p-offset)=*p;} printf("鍘荤┖鏍煎悗锛歕n%s",s);free(s)...
  • 浣跨敤鎸囬拡缂栧啓绋嬪簭,瀹炵幇鎶*s1鎸囧悜鐨勪覆涓寚瀹氱殑瀛楃鍒犻櫎銆傝姹:鍘熷鐨...
    绛旓細int main(){ char s[200];char c;int i,j;printf("璇疯緭鍏ュ瓧绗︿覆:\n");scanf(鈥%s",s);printf("璇疯緭鍏ヨ鍒犻櫎鐨勫瓧绗:\n");scanf(鈥%*c%c",&c);for(i=0,j=0;s[i];i++){ if(s[i]!=c)s[j++]=s[i];} s[j]='\0';printf("淇敼鍚庣殑瀛楃涓蹭负:%s",s);return 0;}...
  • 鐢–璇█鎸囬拡娉,灏嗕竴涓惈鏈塵(m<10)涓暣鏁扮殑涓缁存暟缁勪腑灏忎簬骞冲潎鍊肩殑鎵浠ュ厓...
    绛旓細include<stdio.h>int main(){ int i = 0,j = 0,sum = 0; float a = 0; int m = 0; int *p ; scanf("%d",&m); p = (int *)malloc(4*m); for(i = 0;i < m;i ++) scanf("%d",p+i); for(i = 0;i < m;i ++) sum += *(p...
  • 鐢╟璇█瀹炵幇瓒呭競鍟嗗搧绠$悊绯荤粺,鐢ㄦ寚閽瀹炵幇鍟嗗搧鐨勬彃鍏ャ鍒犻櫎鎿嶄綔銆
    绛旓細鍒犻櫎鍟嗗搧鎬濊矾锛氱洿鎺ヤ慨鏀硅鍒犻櫎鐨勫晢鍝佷箣鍓嶇殑鎸囬拡锛缁曡繃瑕佸垹闄ょ殑鍟嗗搧锛屾寚鍚戜笅涓涓笉鎿呴暱鐨勫晢鍝佸氨ok銆俿truct book{long book_number; //璁板綍涔︾殑缂栧彿 char book_name[N]; //鍌ㄥ瓨涔︾殑鍚嶅瓧double book_price; //璁板綍涔︾殑浠锋牸char book_author[N];//璁板綍涔︾殑浣滆 char book_state[N]; //璁板綍...
  • 扩展阅读:c++简单程序实例 ... cnc编程必背50个程序 ... c十十编程要学多久 ... 指针c语言简单程序 ... 编程必背100个代码 ... c语言指针最好的讲解 ... c语言作业答案软件 ... 利用指针将10个数排序 ... c语言指针编程题及详解 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网