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

c語言名字倒置

發布時間: 2023-05-11 17:20:35

『壹』 c語言 把字元串前後倒置

你這里的*t = s; 只表示定義了一個新指針,還是指向原來s數組存儲的空間。

其實完全可以一次循環搞定,第0位置與第n-1個位置互換就行了,依次類推,

n為偶數時,n/2 - 1 與 n/2互換,如n為10,則0-9位置有效,4和5換;

n為奇數時,n/2 - 1 與 n/2 + 1互換,如n為11時,0-10位喊族置有效,5在中間,4和6換;

實際上是循環n/2次,i與 [(n-1) - i]互換。

注意的是第n位置是'',不用換。

voidfun(char*s)
{
inti,j=0,n;
chartemp;
n=strlen(s);
for(i=0;i<n/2;i++){
鄭爛弊temp=s[i];
s[i]歷坦=s[n-1-i];
s[n-1-i]=temp;
}
}

『貳』 C語言,利用指針實現由鍵盤任意輸入一串字元,將此字元串倒置。

太復雜了,看不懂你想做什麼。

#include<stdio.h>
intmain()
{
charx[80],temp[80];
char*p,*q;
gets(x);
for(p=x;*p!='';p++);
for(q=temp,p--;p>=x;q++,p--)
{
*q=*p;
}
*q='';
puts(temp);
return0;
}

『叄』 C語言 用遞歸法把字元串倒置

void recur(char *c,int k){
char tmp;
if(k>1){
recur(c+1,k-2);
tmp=c[0];
c[0]=c[k-1];
c[k-1]=tmp;
}
}
int main()
{
char *c="abcdefg";
int k=strlen(c);
recur(c,k);
puts(c);
getch();
}

『肆』 c語言輸入的漢字倒著的這是怎麼回事

這是一個編碼問題,可能是坦李因為您使用的編碼和輸入的漢字編碼不同讓銀遲,導致輸出的漢字倒著顯搏爛示。您可以嘗試使用相同的編碼,或者使用轉換工具將漢字轉換為正確的編碼,以解決這個問題。

『伍』 C語言每個句子的每一個單詞 倒置

給出一個句子,把每一個字母倒置,但不改變單詞的順序。
輸入:
這個題有多個CASE。第一行給出一個正整數N(N<500),然後緊接著一個空行,再緊接著N個數據塊,。每一個數據塊,包括一個正整數T與T行英語句子。句子總長不超過300。每兩個數據塊之間有一個空行。每個句子只包含大寫字母與小寫字母。
輸出:
對於每個數據塊 一行一句輸出。每兩個數據塊之間用一個空行分隔。
輸入樣例:
1

3
I am happy today
To be or not to be
I want to win the practice contest

輸出樣例:
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc

『陸』 做一個C語言程序,輸入一個中文人名後,把名字倒序輸出

#include<stdio.h>
#include<string.h>
typedefunsignedcharBYTE;
void仔游main()
{
chars[99],s_r[99]={0};
charlen;
gets(s);
len=strlen(s)-1;
for(inti=0;i<=len;i++){
if(*((BYTE*)s+i)>0x80&&*((BYTE*)s+i+1)>首戚褲0x40){
s_r[len-i-1]=s[i];
s_r[len-i]=s[i+1];
i++;
}else{
s_r[len-i]=s[i];
}
}
printf("逆序後: ");
printf("%s ",s_r);
}

請者簡採納

『柒』 輸入五個人的姓名拼音然後倒序輸出用c語言如何編程

#include<stdio.h>

#include<string.h>

int main()

{

char a[111]={''},b[6][33]={''};

int k=0,j=0;

gets(a);//輸入一個字元串

for(int i=0;i<strlen(a);i++)

{

if(a[i]!=' ')

b[k][j++]=a[i];//將每個名字存入二維數組的每一行中

else

{

k++;

j=0;

}

}

for(int i=0;i<=k;i++)

{

for(int j=strlen(b[i])-1;j>=0;j--)

{

printf("%c",b[i][j]);

}

printf(" ");

}

return 0;

}

『捌』 C語言中如何將中文字元倒序輸出

先用strrev庫函數把整個字元串倒過來,然後利用漢字編碼為負數的特點判斷為漢字的倒序連續輸出兩個字元即可達到目的。舉例代碼如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"string.h"
intmain(void){
chara[]="abcdefg我們都是來自五湖四海123456789",i;
strrev(a);//把整個字元串倒過來
for(i=0;a[i];i++)
if(a[i]>0)
printf("%c",a[i]);//輸出非漢字字元
elseprintf("%c%c",a[i+1],a[i++]);//輸出漢字
printf(" ");
return0;
}

『玖』 急求用c語言編寫:一個字元串編寫程序將其倒置,如:」abcd」 改為:」dcba」,附上注釋。謝謝」

#include<stdio.h>
intmain()
{
inti,j;
charstr[100],c;
scanf("%s",str);//讀入字元串
for(i=0,j=strlen(str)-1;//i從最前面開始,j從最後猜叢罩鋒面開始,數組元素進行交換
i<穗悶櫻j;//當i和j碰頭時就結束交換
i++,j--)//每交換一個,i往後移一個,j往前移一個
{
c=str[i];//用臨時變數保存第i個字元
str[i]=str[j];//第j個字元存入第i個位置
str[j]=c;//臨時變數,即原第i個字元寫入第j個位置
}
printf("%s",str);//輸出倒置後的字元串
}

『拾』 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;
}
}