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

C語言將輸入的字元串倒寫

發布時間: 2023-05-06 15:15:52

⑴ 急求用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語言怎麼在不用數組的情況下將輸入的字元串倒序輸出

那就使用指針了
int main(void )

{

char* str="Hello china";

char* p = str; char* end;

while(*p!='')

{

彎晌銀end=p;

p++;

}//此循環是為了找到字元串的結尾字元

while(end!=str) {printf("%c",*end); end--;}//從最後一個字埋宴符開始逆向輸出,直謹渣至第一個字元

printf("%c ",*end);//將最後一個字元輸出

}

承接單片機開發

⑶ c語言輸入一串字元,將單詞倒著輸出,例 輸入 I Love You 輸出 You Love I

參考代碼:

#include<stdio.h>
#include<string.h>
voidmain()
{
inti,j,k;
charstr[300],str1[30];
gets(str);
j=strlen(str);
k=0;
for(i=j-1;i>=0;i--)
{
if(str[i]!='')
str1[k++]=str[i];
else
旅搭跡枝世 {
str1[k]='';
strrev(str1);
printf("%s",str1);
k=0;
拆並 }
}
if(k>0)
{
str1[k]='';
strrev(str1);
printf("%s ",str1);
}
}

⑷ c語言怎麼把字元串倒序

反序方法見 下面 函數 void op(char *s). 主函數是調用的例子。
#include <stdio.h>
void op(char *s){
int i,k;
char c;
k = strlen(s);
for (i=0;i<k/2;i++){c=s[i];s[i]=s[k-i-1];s[k-i-1]=c;};
};

int main()
{
char s[200];
printf("input one line string:\n");
gets(s);
op(s);
printf("%s\n",s);
return 0;
}
輸入:abc123
輸出:321cba

⑸ C語言編程題:顛倒字元串

#include<stdio.h>
#defineN20
voidinvert(char*s){char*p,*q,c;
p=q=s;while(*q)q++;q--;//p指向首字元,q指向尾字元
while(p<q){c=*p;*p=*q;*q=c;p++;q--;}
}
voidmain(){chars[N][256];inti,n;
scanf("%d",&n);for(i=0;i<n;i++)gets(s[i]);
for(i=0;i<n;i++)invert(s[i]);
for(i=0;i<n;i++)printf("%s ",s[i]);
}

⑹ C語言 下面的函數invert的功能是將一個字元串的內容顛倒過來。

void invert (char str [] )
{
int i,j, k;
for(i=0,j=strlen(str)-1;i<j;i++,j--)
{
k=str[i];
str[i]=str[j];
str[j]=k;
}
}

⑺ 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語言,利用指針編寫程序:把從鍵盤輸入的字元串逆序存放並輸出

以下是C語言程序,使用指針將鍵盤輸入的字元串逆序存放,並輸出結果:

```c
#include <stdio.h>
#include <string.h>

int main() {
char str[100], temp;
int len, i;
char *p1, *p2;

printf("請輸入老派一個字元串:");
scanf("%s", str);

len = strlen(str);
p1 = str;
p2 = str + len - 1; // 指向字元串最後一個字元

for (i = 0; i < len/2; i++) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}

printf("逆序存放後的字元串為:%s", str);

return 0;
}
```

程序先從鍵盤輸入一個字元串,然後獲取字元串的長度和指向字元串首尾的指針。老豎接著,使用指針交換相應位置上的字元,完成字元串逆序存放。最後侍含大輸出逆序存放後的字元串。

注意,字元串的長度可能為奇數或偶數,因此在for循環中應該只交換字元串長度除以2個字元即可。

⑼ c語言 將一個輸入的字元串的內容顛倒後輸出

可以直接使用庫函數strrev(), 需要包含頭文件string.h

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

intmain()
{
charbuf[1024];
scanf("%s",buf);
strrev(buf);
printf("%s ",buf);
return0;
}

strrev不是C語言的函數,自己用指針來實現也非常簡單。

char *_strrev(char *str)

{

char *f = str, *l = str + strlen(str), ch;

while(f<l) {ch = *f; *f++ = *(--l); *l = ch;}

return str;

}

wchar_t *_wcsrev(wchar_t *wcs)

{

wchar_t *f = wcs, *l = wcs + wcslen(wcs), ch;

while(f<l) {ch = *f; *f++ = *(--l); *l = ch;}

return wcs;

}

對於多字元的漢字的調換次序,要想得到正確的結果,必須先將多字元轉換為寬字元,調換次序後再轉化為多字元。