鄭州輕工業(yè)大學(xué)oj題解(c語(yǔ)言)-1023-1026 ASCII碼系列(一)
1023-1026本質(zhì)上都是有關(guān)ASCII碼的問(wèn)題厂画,故此處放在一起討論。
ASCII碼,簡(jiǎn)稱asc碼,是C語(yǔ)言的重要部分怜俐,通常用于加密效床。
ASCII 碼使用指定的7 位或8 位二進(jìn)制數(shù)組合來(lái)表示128 或256 種可能的字符睹酌。標(biāo)準(zhǔn)ASCII 碼也叫基礎(chǔ)ASCII碼,使用7 位[二進(jìn)制數(shù)]來(lái)表示所有的大寫和小寫字母剩檀,數(shù)字0 到9憋沿、標(biāo)點(diǎn)符號(hào)
例如在1023-1026這幾題中就需要用到ASCLL碼來(lái)完成字符的表示與轉(zhuǎn)換。
首先我們看1023題沪猴。
1023: 大小寫轉(zhuǎn)換
輸入一個(gè)字母辐啄,若是小寫字母,則變?yōu)榇髮戄敵鲎直遥駝t则披,原樣輸出。
輸入
輸入為一個(gè)字符洗出。
輸出
按題目要求輸出一個(gè)字符士复,單獨(dú)占一行。
代碼如下:
#include<stdio.h>
int main()
{
char ch;
scanf("%c",&ch);//此處表示輸入一個(gè)字符給ch
if(ch >= 'a' && ch <= 'z')//判斷是否為小寫字母
ch -= 32;//32為大寫字符與小寫字符之間的差值翩活。
printf("%c\n", ch);
return 0;
}
從題目中我們可以看到阱洪,題意要求我們判斷字符是否是小寫字母,并完成小寫轉(zhuǎn)換為大寫的操作菠镇。
所以冗荸,我們先通過(guò)if語(yǔ)句判斷了輸入的字符是否在小寫字母的區(qū)間,如果不是利耍,則將字符的ASCII碼-32得到其相應(yīng)的大寫字母的ASCII碼(相應(yīng)的大寫轉(zhuǎn)小寫也同理)蚌本。
這里要強(qiáng)調(diào)的是,在輸入為字符時(shí)隘梨,任何加減乘除的操作都只在ASCII碼里進(jìn)行(即是其字符的ASCII碼完成計(jì)算過(guò)程)
1024: 計(jì)算字母序號(hào)
題目描述
輸入一個(gè)英文字母(可能是大寫程癌,也可能是小寫),輸出該字母在字母表中的序號(hào)(’a’和’A’的序號(hào)為1)轴猎。
輸入
輸入只有一個(gè)英文字母嵌莉。
輸出
輸出一個(gè)整數(shù),表示該字母在字母表的序號(hào)捻脖,輸出單獨(dú)占一行锐峭。
代碼如下:
#include<stdio.h>
int main()
{
char ch;
int s;
scanf("%c",&ch);//此處表示輸入一個(gè)字符給ch
if(ch >= 'a' && ch <= 'z'){
s=ch - 'a' + 1;
printf("%d",s);
}//判斷是否為小寫字母,并輸出其序號(hào)
else if(ch >='A'&&ch<='Z'){
s=ch-'A'+1;
printf("%d",s);
}//判斷是否為大寫字母,并輸出其序號(hào)
return 0;
}
這里為了方便大家理解可婶,用了大家更好懂的寫法沿癞。首先根據(jù)題意,輸入的字母大小寫是不確定的扰肌,所以需要我們先去判斷大小寫抛寝。然后判斷完大小寫后,把輸入的字符減去這個(gè)字符的第一個(gè)字母曙旭,(大寫減A盗舰,小寫減a)然后加上1即可得到這個(gè)字符在其字母表里的序號(hào)。
由于篇幅問(wèn)題1025.1026留到第二篇再做講述桂躏。
PS:看例子不要只抄代碼钻趋,要善于讀懂代碼,做到舉一反三剂习。