c語言大小寫轉換我這樣寫為什麼不行呢

2023-01-02 12:05:30 字數 5777 閱讀 4418

1樓:匿名使用者

printf("/n",temp[i]); 這個應該是輸入吧,要不你用什麼字串改變大小寫

if(temp[i]>='a'&&temp[i]<='z')printf("/n",temp[i]-32);

else if(temp[i]>='a'&&temp[i]<='z')

printf("/n",temp[i]+32);

這個也不對啊,小寫的話就不需要改變。大寫的話才改變而且/ \沒分清

2樓:雙魚座大叔

temp 沒有拷貝字串 strcpy(temp, "abcdefg");

printf("\n");

printf("%c\n", temp[i]-32);//應該這麼寫

3樓:

1、對temp[50]沒有輸入字串就進行操作是不對的;

2、你的printf("/n")都要改成printf("\n").

4樓:匿名使用者

1、temp是空的,不放直接temp[50] = 賦串字元;

2、printf("/n",temp[i]); printf("/n",temp[i]-32); printf("/n",temp[i]+32);什麼意思?????

輸出寫錯了吧

5樓:匿名使用者

1.temp沒有輸入字串就直接操作

2.列印語句不對

6樓:

printf("/n",temp[i]);這個是什麼?

你的輸出完全都是錯的

/ 跟 \ 這兩個分清楚

7樓:匿名使用者

樓主的temp有什麼在啊?

c語言大小寫字母轉換為什麼我這樣寫錯了?

8樓:這個花季那場雪

錯誤1:scanf("");中不應該攜帶任何轉義字元如/n錯誤2:如果採用%c輸入,則回車符會被當作一個字元輸出,所以下一個printf輸出的是一個回車

修改建議:

1、將scanf("%c/n",&a);改成scanf("%c",&a);

2、將printf("%c/n",result);改成printf("%c"); //輸出回車printf("%c/n",result); //輸出結果如果想深入理解錯誤原因,可以瞭解一下輸入緩衝區的概念

9樓:

首先把scanf("%c\n",&a);改成scanf(" %c",&a);。

求問個c語言問題:如圖,為什麼+32後可以大小寫轉換

10樓:匿名使用者

輸出的是assic碼, 而assic編碼中, 大小寫字母之差是32,

11樓:萵苣世家

十進位制 十六進位制 符號 十進位制 十六進位制 符號

0 0h (null) 64 40h @

1 1h 65 41h a

2 2h 66 42h b

3 3h 67 43h c

4 4h 68 44h d

5 5h 69 45h e

6 6h 70 46h f

7 7h beep 71 47h g

8 8h 72 48h h

9 9h '\t' 73 49h i

10 ah '\n' 74 4ah j

11 bh '\v' 75 4bh k

12 ch '\f' 76 4ch l

13 dh '\r' 77 4dh m

14 eh 78 4eh n

15 fh 79 4fh o

16 10h 80 50h p

17 11h 81 51h q

18 12h 82 52h r

19 13h 83 53h s

20 14h 84 54h t

21 15h 85 55h u

22 16h 86 56h v

23 17h 87 57h w

24 18h 88 58h x

25 19h 89 59h y

26 1ah (ctrl-z) 90 5ah z

27 1bh esc 91 5bh [

28 1ch 92 5ch \

29 1dh 93 5dh ]

30 1eh 94 5eh ^

31 1fh 95 5fh _

32 20h 空格符 96 60h `

33 21h ! 97 61h a

34 22h " 98 62h b

35 23h # 99 63h c

36 24h $ 100 64h d

37 25h % 101 65h e

38 26h & 102 66h f

39 27h ' 103 67h g

40 28h ( 104 68h h

41 29h ) 105 69h i

42 2ah * 106 6ah j

43 2bh + 107 6bh k

44 2ch , 108 6ch l

45 2dh - 109 6dh m

46 2eh . 110 6eh n

47 2fh / 111 6fh o

48 30h 0 112 70h p

49 31h 1 113 71h q

50 32h 2 114 72h r

51 33h 3 115 73h s

52 34h 4 116 74h t

53 35h 5 117 75h u

54 36h 6 118 76h v

55 37h 7 119 77h w

56 38h 8 120 78h x

57 39h 9 121 79h y

58 3ah : 122 7ah z

59 3bh ; 123 7bh

62 3eh > 126 7eh ~

63 3fh ? 127 7fh

你可以看到assic表上相對應的大小寫字母的編號是差32的。

12樓:z的

在c語言的ascii碼錶中大寫字母和小寫字母的差是32

13樓:匿名使用者

沒聽說過ascii碼嗎?可以查查ascii碼。

c語言 字母大小寫轉換 怎麼實現

14樓:匿名使用者

你還有語法(主要對語法使用的理解,編譯器是能過的)問題:(**版格式也有點小問題)

y='x'; /* 這句權實際上是在初始 y 為 'x' 這個字元的 ascii 值 */

if (y<='a'&&y>='z') /* 由於前一條賦值,這一條件等同於

if('x'<='a'&&'x'>='z') 條件總為假,所以下一條永遠不會執行 */

z='y'-('a'-'a'); /* 這條給 z 賦的值,會始終為 'y' 的 ascii 值 */

else

z='y'+32; /* 'y'這個字元再加 32('a'和'a'之差)都已經超出 ascii 基礎 0~127 的範圍了 */

/* 下面是按你的邏輯,把重新寫了寫的,當然還有邏輯錯誤,

* 主要就是區間問題,這個拿個 ascii 表查一下數一下就 oh yeah 了。 */

y=x;

if (y<='a'&&y>='z')

z = y-('a'-'a');

else

z = y+32;

15樓:匿名使用者

這樣寫會更清copy楚點bai,你的錯誤就在判斷du語句**。有

zhi不懂的可以問我

dao#include

int main()

16樓:武林50我愛你

你的本意是想把x賦給y,但是y='x'這句話是把x這個字母的ascii賦給了y,所以達不到想要的效果。

17樓:夏侯政宗

。。。。本來是沒問題的,只是你的x y z別加上單引號啊。。。把xyz的單引號去了,只留abc的應該沒問題

18樓:

把y='x';

if (y<='a'&&y>='z') z='y'-('a'-'a');

else z='y'+32;

兩句改成z=x^0x20;就妥了。

19樓:亦冷

都定義成char看看

20樓:匿名使用者

#include

void main()

c語言大小寫字母轉換

21樓:肆意橫流的思念

#include

void main()

22樓:匿名使用者

思路:先定義字串,並輸入,然後對字串進行遍歷,並判斷是否是大寫字母,如果是則其ascii加32,如果是小寫字元則其ascii減去32,最後輸出字串即可。

#include

int main()

/*執行結果:

abc23def

abc23def*/

23樓:匿名使用者

c1的值從鍵盤輸入,也就是你要轉換的大寫字母,在ascii碼錶中,a-z的ascii碼值是65-90,a-z的ascii碼值是97-122,而且在ascii碼錶中,這些字母的ascii碼值也是按順序排列的,所以你輸入c1的值加上32以後正好是它對應的小寫字母的ascii碼值,printf("%c,%d\n",c1,c1);中「c%」輸出的是c1的字元型值,也就是你從鍵盤輸入的大寫的c1,「d%」輸出的是它對應的ascii值,c2同上。

c語言求怎麼判斷字母的大小寫c語言中如何辨別大小寫字母

c語言中,變數ch如果是一個char型別量,可以用以下的語句來進行判別大小寫 1 if ch a ch z printf c是一個大寫字母 n ch 2 if ch a ch z printf c是一個小寫字母 n ch 3 if ch 0 ch 9 printf c是一個數字字元 n ch 擴充套...

c語言輸入大小寫都有的字母,然後從A開始按大寫形式順序輸出

你宣告的陣列型別就不一樣,試試下面這段 看不懂再問 include include define n 3 void main else if a 0 a a n z include main else a i 0 給字元陣列結束的標誌,否則陣列無輸出for j 0 j 9 j for i j 1 i...

英語為什麼要大小寫同用,英文字母為什麼要有大小寫呢?

英語使用的拉丁字母源於希臘字母,希臘字母最初都是大寫的,沒有小寫。大寫字母筆畫直,不連筆。這種字形適於刻畫而不適於快速筆寫。後來在書寫的過程中,為了書寫的快速方便,筆畫就草率了,這樣就字母就逐漸變圓 拉長,開始接近現在的小寫字母的形狀。為了避免混淆,有的字母增加了筆畫 如i上的小點 有的加上了附加的...