c語言中如何將中文字元倒序輸出,C語言中如何將中文字元倒序輸出

時間 2021-12-23 08:28:44

1樓:

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

//#include "stdafx.h"//if the vc++6.0, with this line.

#include "stdio.h"

#include "string.h"

int main(void)

2樓:熊出沒丶

根據大佬寫的**稍微一改,以下**可以輸入任何詞都可以反過來,比如輸入"ab你好cd"也可以反過來

#define _crt_secure_no_warnings#include

#include

#include

unsigned char *inversestr(unsigned char t, unsigned char s)

else t[j] = s[i];

}t[j] = '\0';

return t;

}int main(void);e:

printf("請輸入:");

scanf("%s", &a);

unsigned char *s =  &a ;

unsigned char t[25];

printf("s = \"%s\"\n", s);

printf("t = \"%s\"\n", inversestr(t, s));

goto e;

printf("\n");

system("pause");

return 0;}

3樓:匿名使用者

試試看用標準標頭檔案的getwchar()代替getchar(),putwchar()代替putchar(),eof換成weof能不能解決問題……目測需要編譯器支援……

4樓:匿名使用者

乙個漢字占用兩個位元組(擴充套件ascii碼),而getchar()每次只能讀入乙個位元組,因此讀入漢字時,則需要用gets()函式。

倒敘輸出漢字串時,有兩種方法,一是從字串末端開始,每次輸出兩個位元組,二是直接漢字將字串在陣列中倒置,然後再用puts()函式直接輸出。

以上兩種方法都有侷限性,一旦含有非漢字字元,極有有可能造成亂碼。

5樓:匿名使用者

沒看出來這段**如何解決倒序的。。。

c語言:輸入乙個字串,然後逆序輸出

6樓:橘落淮南常成枳

可以將整數當做字串(字串長度不超過10)接收,然後反向輸出字元陣列元素即可。

字串實際長度可以用strlen函式來計算。

方法程式如下:

#include

#include

main()

7樓:杜哥是個小天才

#include

int main()

{  int len,i;

char str[100];

gets(str);

len=strlen(str);

for(i=len-1;i>=0;i--)printf("%c",str[i]);

return 0;

拓展資料c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。

8樓:匿名使用者

#include

#include

void fun(char a)

}main()

//除錯成功

9樓:匿名使用者

#include

#include

function(char *string)return new;

}main ()

未測試,估計有錯,僅作參考

10樓:匿名使用者

本程式已執行成功。

#include

#include

fun(char c[20])

b[i]='\0';

puts(b);

printf("\n");

}main()

用c語言倒序輸出字串

11樓:天雨下凡

思路:用乙個足夠長的字元陣列來接受使用者的輸入,然後從最後陣列最後乙個位置開始輸出字元。

**如下:

#include

#include

#define buffer 1024 /*定義常量buffer,值為1024,作陣列長度*/

int main(void)

程式執行截圖如下:

12樓:匿名使用者

不改你的程式思路結構。修改**如下

#include

void main()}

13樓:匿名使用者

#include "stdio.h"

void main()

printf("%c",*t);

}//第乙個迴圈兩句話顛倒了,第二個迴圈應該用位址是否相等來判斷,最後再輸出最後乙個字元就可以了。本來想用do-while語句,試了試不行。不知道為什麼

14樓:復仇の血精靈

你好!下面是我為你改的,希望對你有所幫助。

#include

void main()}

15樓:

#include

#include

void main()

c語言中怎麼將中文字元存入字元陣列

1 首先新建乙個dev c 的專案。2 接下來在專案中新建c語言程式檔案,如下圖所示。3 然後在c語言檔案中宣告乙個位元組陣列。4 接下通過printf函式提示使用者輸入字串,通過scanf接收使用者輸入的字串。5 接著在通過printf函式輸出使用者輸入的內容。6 最後執行c語言程式,輸入內容以後...

c語言中如何將結構中變數清空,在C語言中如何把陣列清空

夏老師問一問 可以利用memset函式對變數進行清空操作。memset 函式原型是extern void memset void buffer,int c,int count buffer 為指標或是陣列,c 是賦給buffer的值,count 是buffer的長度.這個函式在socket中多用於清...

c語言如何將變數寫入檔案,C語言中如何從檔案讀取資料並賦值到變數?

多爾安巨集教 原因 使用fopen時引數不正確,你是用 w引數,若檔案存在則檔案長度清為0,即該檔案內容會消失。每次都是重新清空並寫資料,將w修改為a即可.fopen函式說明見下方 file fopen const char path,const char mode 編輯本段 函式說明 引數path...