當前位置:首頁 » 編程語言 » 前後字元對換c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前後字元對換c語言

發布時間: 2022-05-24 20:40:54

Ⅰ 字元交換c語言

實現字元交換可以藉助一個中間字元變數,比如要把字元變數a和b裡面的內容交換,可以藉助一個中間變數c,代碼如下:

intmain()
{chara='O',b='J',c;
c=a;a=b;b=c;}

這樣a和b裡面的內容就會交換了。

當然,如果你需要寫成一個函數,那必須傳地址,否則函數裡面的值換了,對函數外的變數沒有影響。如果是寫成函數要這樣:

intswap(char*a,char*b)
{charc;
c=*a;
*a=*b;
*b=c;}

然後在主函數里可以這么調用:

intmain()
{chara='O',b='J';
swap(&a,&b);}

Ⅱ c語言數字和字元的相互轉換

#include "stdio.h"

#include "math.h"

main()

{

char change(int x,int n);

int x,i,j;

char s[8],y;

printf("請輸入整數:");

scanf("%d",&x);

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

{

y=change(x,i);

if(y=='')

{

s[i]='';

break;

}

s[i]=y;

}

for(i=7;i>=0;i--)//由於字元存儲到字元數組時順序與原來相反,故在此將字元順序倒輸

if(s[i]=='')

for(j=i-1;j>=0;j--)

printf("%c",s[j]);

printf(" ");

}

char change(int x,int n)

{

int i;

char g;

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

{

switch(x%10)

{

case 0 :g='0';break;

case 1 :g='1';break;

case 2 :g='2';break;

case 3 :g='3';break;

case 4 :g='4';break;

case 5 :g='5';break;

case 6 :g='6';break;

case 7 :g='7';break;

case 8 :g='8';break;

case 9 :g='9';break;

}

if(x==0)

{

g='';

break;

}

x=x/10;

}

return(g);

}

在C/C++語言中沒有專門的字元串變數

通常用字元數組來存放字元串。字元串是以「」作為結束符。C/C++提供了豐富的字元串處理函數,下面列出了幾個最常用的函數。

字元串是面試的重點考查部分的相關知識,通過考查字元串的相關知識可以考察程序員的編程規范以及編程習慣。並且其中包括了許多知識點,例如內存越界、指針與數組操作等。許多公司在面試時會要求應聘者寫一段復制字元串或字元串子串操作的程序。本章列舉了一些與字元串相關的面試題,有些題目要求較高的編程技巧。

以上內容參考:網路-字元串

Ⅲ c語言 讀入一串字元,將字元前半部分與後半部分交換

#include<cstdio>
#include<cstring>
int main()
{
char str[1000];
int i;
while(gets(str))
{
int len=strlen(str);
for(i=len/2;i<len;i++) printf("%c",str[i]);
for(i=0;i<len/2;i++) printf("%c",str[i]);
puts("");
}
return 0;
}

Ⅳ c語言中如何實現兩個字元的交換

有多種方法:
1 最常用的,中間變數法。
使用第三個中間變數交換a,b的值。
char a='-', b='+',c;
c = a;
a = b;
b = c;
實現a,b值的交換。
2 利用加減法交換。
交換a,b值可以用
a+=b;
b=a-b;
a=a-b;
3 利用異或交換:
交換a,b值的代碼為:
a^=b;
b=a^b;
a=a^b;

Ⅳ c語言怎麼把兩個字元串交換位置

利用strcpy()函數。

chara[10]="abed",b[10]="efg",t[10];
strcpy(t,a);//a復制給t
strcpy(a,b);//b復制給a
strcpy(b,t);//t復制給b

函數功能是字元串復制,將第一個參數指定的字元串復制到第二個參數指定的位置
兩個參數都是字元串首地址。
使用strcpy需要 #include<string.h>

Ⅵ C語言中怎樣交換兩個字元串

C語言中交換兩個字元串需要藉助strcpy函數或者使用自定義交換函數進行交換

如交換a,b數組中的字元串代碼:

chara[10]="abed",b[10]="efg",t[10];
strcpy(t,a);//a復制給t
strcpy(a,b);//b復制給a
strcpy(b,t);//t復制給b

附:strcpy函數詳情

原型聲明:

char*strcpy(char*dest,constchar*src);

頭文件:

#include<string.h>和#include<stdio.h>

功能:把從src地址開始且含有NULL結束符的字元串復制到以dest開始的地址空間

說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。返回指向dest的指針。

Ⅶ c語言編程,使用指針做為函數參數,編寫一個字元串交換函數,實現兩個字元串內容的交換 急求,多謝!

#include<stdio.h>
voidswap(char*a,char*b){
intch;
while(*a&&*b)
ch=*a,*a=*b,*b=ch,a++,b++;
if(*a){
*b++=*a,*a++='';
while(*b++=*a++);
}
elseif(*b){
*a++=*b,*b++='';
while(*a++=*b++);
}
}

Ⅷ 輸入一串字元,要求把前後字元交換,中間字元不動,(C語言)

#include<stdio.h>
voidmain(){
chara[5]="";
scanf("%s",a);
intlengh=5;
inttemplen=5;
chartemp;
for(inti=0;i<=lengh/2-1;i++)
{
temp=a[i];
a[i]=a[templen-1];
a[templen-1]=temp;
templen--;
}
printf("%s ",&a);
}
小編純手打,望採納!

Ⅸ C語言 把字元串前後倒置

我的演算法是原地轉置。原地轉置有個問題,就是不能對靜態存儲的字元串操作。比如char
*s="abc";reverse(s);就會出錯。樓上的幾位的演算法不是原地轉置,可以對靜態字元串操作。
void
reverse(char
*s)
{
char
*p=s;
while(*p!='\0')
p++;
p--;
char
*q=s;
char
temp;
while(p>q)
{
temp=*p;
*p=*q;
*q=temp;
}
}

Ⅹ 用c語言將一組字元串前後顛倒

有人已經回答過:
http://..com/question/423482939587489732.html
代碼如下:

void fun(char*s)
{
int i,j=0,n;
char t[100];//t不要和s指向同一個字元串,不然後面的賦值操作有點亂套。
n=strlen(s);
for(i=n-1;i>=0;i--)//i==0的時候也要復制過去。
t[j++]=s[i];
for(i=0;i<n;i++)
s[i]=t[i];
s[++i]='\0';
}