當前位置:首頁 » 編程語言 » c語言替換

c語言替換

發布時間: 2022-06-22 18:12:52

① 在 c語言中字元串的替換如何實現的!

1、首先輸入代碼:

#include <string.h>

#include <stdio.h>

/**

* 參數:

* originalString[] :原始字元串

* key[] : 待替換的字元串

* swap[] : 新字元串

*/

void replace(char originalString[], char key[], char swap[]){

int lengthOfOriginalString, lengthOfKey, lengthOfSwap, i, j , flag;

char tmp[1000];

② c語言運用函數替換字元串中的數字求助大佬

#include <stdio.h>

#define N 80


/* 請在這里填寫答案 */

void f(char *c,char a)

{

for(;*c;c++)

if(*c>='0'&&*c<='9')

*c=a;

}


int main(void)

{

char c[N], a;

gets(c);

scanf("%c", &a);

f(c, a);

printf("%s", c);

return 0;

}

③ c語言 把某一字元串中的其中一段字元串替換成另一串字元串。

#include
<stdio.h>
#include
<string.h>
void
main(void)
{
char
getstr[100];
char
sendstr[100];
char
a_b[100];
char
i;
printf("please
input
the
firs
str!\n");
gets(getstr);
printf("please
input
the
second
str
!\n");
gets(sendstr);
strcpy(a_b,getstr);
//交換兩個字元串的數據
strcpy(getstr,sendstr);
strcpy(sendstr,a_b);
for(i
=
0;
getstr
!=
'\0';
i++)
{
printf("str1:%c",getstr[i]);
}
for(i
=
0;
getstr
!=
'\0';
i++)
{
printf("str2:%c",sendstr[i]);
}
}
這是將兩個字元串進行交換後輸出。
第二個問題則用到了數據結構了,使用一個結構體鏈表,使用strcmp()或strcmpi()比對你輸入的字元串,找到相同的輸出對應的中文字元串就好了。
其中:
strcmp()
對兩個字元串進行大小寫敏感的比較;strcmpi()
對兩個字元串進行大小寫不敏感的比較;

④ c語言中的文件替換函數

char
file[20]="
C:\a.txt
c:\b.txt";
system(file);
這是最簡單的辦法。當然你也可以寫打開源文件,再打開目標文件,讀源文件內容,寫目標文件....

⑤ C語言如何實現字元之間的替換(打出一列順序,輸出按此順序輸出)

根據你的題意。

第一行輸入是26個字母的指定順序。

第二行輸入是內容字元串。

將內容字元串中的字母按照指定順序替換成對應26個字母原順序的字母。

規則:第一行輸入必須是26個小寫母,且不能重復。

替換後的字元中字母大小寫參照原字元串。

下面是代碼:

#include<stdio.h>

#include<string.h>

#define MAXLEN 100//第二行輸入字元串的最大長度

char *inPutNewOrder();//輸入26個字母的新順序,必須為小寫字母,不能有重復。輸入成功返回字元串,失敗返回NULL

char getNewLetter(char cIn,char newOrder[27]);//獲取字母對應newOrder的原始字母,成功返回字母,失敗返回0

int main()

{

int i;

char *newOrder;//輸入新字母順序

char inputStr[MAXLEN],cIn;

while(1)

{

newOrder=NULL;

while(!newOrder)

newOrder=inPutNewOrder();

memset(inputStr,0,sizeof(char)*MAXLEN);

for(i=0;i<MAXLEN;i++)

{

cIn=getchar();

if(cIn==10)//回車結束輸入

break;

if((cIn>=65 && cIn<=90)||(cIn>=97 && cIn<=122))//如輸入的是字母,對應新字母順序,找到原字母

inputStr[i]=getNewLetter(cIn,newOrder);

else

inputStr[i]=cIn;

}

if(i==MAXLEN)

while ((cIn = getchar()) != EOF && cIn != ' ');

printf("%s ",inputStr);

}


return 0;

}

char *inPutNewOrder()//輸入26個字母的新順序,必須為小寫字母,不能有重復

{

int i=0,j,flag=1;

static char newOrder[27];

char c=0;

memset(newOrder,0,sizeof(char)*27);

while(1)

{

if(newOrder[25]!=0)

break;

c=getchar();

if(c<97 || c>122)//輸入小寫字母以外字元,標識錯誤

flag=0;

for(j=0;flag && j<i;j++)

if(newOrder[j]==c)//輸入重復,標識錯誤

flag=0;

if(!flag)//錯誤,終止輸入

{

printf("輸入格式錯誤!必須為26個小寫字母,且不能有重復,請重新輸入。 ");

while ((c = getchar()) != EOF && c != ' ');

return NULL;

}

newOrder[i]=c;

i++;

}

while ((c = getchar()) != EOF && c != ' ');

return newOrder;

}

char getNewLetter(char cIn,char newOrder[27])//獲取字母對應newOrder的原始字母,成功返回字母,失敗返回0

{

static char letters[]="abcdefghijklmnopqrstuvwxyz";

char c;

int i,flag;//flag=1大寫字母,flag=0是小寫字母

if(cIn>=65 && cIn<=90)//輸入的是大寫字母

c=cIn+32,flag=1;

if(cIn>=97 && cIn<=122)//輸入的是小寫字母

c=cIn,flag=0;

for(i=0;i<26;i++)

if(newOrder[i]==c)//在新序列中匹配大寫字母或小寫字母

{

if(flag)

return letters[i]-32;

else

return letters[i];

}

return 0;

}



⑥ c語言:如何將字元串中指定的字元替換為另一個指定字元

void
rep(char
*s,char
*s1,char
*s2)
{
char
*p;
for(;*s;s++)
/*順序訪問字元串s中的每個字元*/
{
for(p=s1;*p&&*p!=*s;p++);/*檢查當前字元是否在字元串s1中出現*/
if(*p)
*s=*(p-s1+s2);
/*當前字元在字元串s1中出現,用字元串s2中的對應字元代替s中的字元*/
}
}
不知道對於不對,你自己去試下,對了請採納,不對請往下瀏覽

⑦ C語言字元串替換

效果圖:

#include<stdio.h>

intgetLen(chara[]){
intlen=0;
while(a[len]!='')len++;
returnlen;
}

intfind(chara[],charb[],intidx){
intla=getLen(a),lb=getLen(b),t=la-lb,i,f;
for(;idx<=t;idx++){
f=0;
for(i=0;i<lb;i++){
if(a[idx+i]!=b[i]){f=1;break;}
}
if(f==0)returnidx;
}
return-1;
}

intmain(){
chara[1024],b[1024],cmp[1025];
inti=0,j,la,lc;
scanf("%s",a);
scanf("%s",cmp);
scanf("%s",b);

la=getLen(a);
lc=getLen(cmp);

j=0-lc;
while(1){
j=find(a,cmp,j+lc);
if(j==-1){
while(i<la){
printf("%c",a[i++]);
}
break;
}
for(;i<j;i++)printf("%c",a[i]);
i+=lc;
printf("%s",b);
}
printf(" ");
}

答題不易,如無疑問,覺得可以的話,採納一下

⑧ c語言編程替換文件中字元串

方法和詳細的操作步驟如下:

1、第一步,依次單擊visual C ++ 6.0的「文件」-->「新建」-->「文件」-->「C++ Source File」選項,見下圖,轉到下面的步驟。

⑨ c語言中,如何實現程序替換功能

#include<stdio.h>
#include<string.h>
void main(){
int i;
char str[100]="We will rock you";
printf("去掉空格,然後小寫轉大寫:");
for(i=0;i<strlen(str);i++){
if((int)str[i]>=97&&(int)str[i]<=122){
str[i] = (char)((int)str[i]-32); //注意小寫字母的ASCII碼是在97-122之間,而大寫字母的ASCII碼是在65-90之間,對應的字母相差32
}
if((int)str[i]!=32){ //空格的ASCII碼是32,去掉空格,肯定是不輸出空格
printf("%c",str[i]);
}
}
printf("\n");
printf("保留空格,然後小寫轉大寫:");
for(i=0;i<strlen(str);i++){
if((int)str[i]>=97&&(int)str[i]<=122){
str[i] = (char)((int)str[i]-32);
}
printf("%c",str[i]); //轉成大寫字母後 ,原樣輸出(字母是大寫但是帶空格的)
}
printf("\n");
}

⑩ C語言中如何替換一個字元串中的字元

include
<stirng.h>
void
strrpl(char
*s,
const
char
*s1,
const
char
*s2)
{
char
*ptr;
while
(ptr
=
strstr(s,
s1))
/*
如果在s中找到s1
*/
{
memmove(ptr
+
strlen(s2)
,
ptr
+
strlen(s1),
strlen(ptr)
-
strlen(s1)
+
1);
memcpy(ptr,
&s2[0],
strlen(s2));
}
return
s;
}
int
main()
{
char
*str1="abc",
*str2="a",
*str3="de",
Str0[100];
//如果字元串很長,100不夠則需要預留更大的空間。
strcpy(Str0,Str1);
strrpl(Str0,
str2,
str3);
printf("%s\n",
Str0);
return
0;
}

熱點內容
源碼地帶 發布:2025-02-05 18:46:37 瀏覽:613
我的世界伺服器怎麼騎別人的頭 發布:2025-02-05 18:46:32 瀏覽:89
怎麼卸載ftp賬號 發布:2025-02-05 18:41:52 瀏覽:62
SQL指定的服務並未以 發布:2025-02-05 18:40:09 瀏覽:972
電腦連接不了伺服器什麼意思 發布:2025-02-05 18:34:46 瀏覽:355
2015版dw怎麼配置站點 發布:2025-02-05 18:33:37 瀏覽:429
php數組中重復值 發布:2025-02-05 18:16:59 瀏覽:366
分布式存儲優點 發布:2025-02-05 18:15:29 瀏覽:644
徵婚交友源碼 發布:2025-02-05 17:45:24 瀏覽:918
3nvm伺服器怎麼搭建 發布:2025-02-05 17:43:52 瀏覽:661