char strcase_switch(char* string)

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比明溪網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式明溪網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋明溪地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
{
int i;
for (i = 0; string[i] != '\0'; i++)
{
if (string[i] = 'a' string[i] = 'z')
{
string[i] = string[i] - 32;
}
if (string[i] = 'A' string[i] = 'Z')
{
string[i] = string[i] + 32;
}
}? ?
return string[i];
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[] = "abcdefGHIJK";
cout strcase_switch(str) endl;
return 0;
}
擴(kuò)展資料:
char用法:
C語言中char用于定義字符類型變量或字符指針變量,例如“char a;”則定義了變量a是字符類型,“char*a;”則定義了變量a是字符指針類型。
char是C語言整型數(shù)據(jù)中比較古怪的一個(gè),其它的如int/long/short等不指定signed/unsigned時(shí)都默認(rèn)是signed,但char在標(biāo)準(zhǔn)中不指定為signed/unsigned,編譯器可以實(shí)現(xiàn)為帶符號(hào)的,也可以實(shí)現(xiàn)為不帶符號(hào)的。
關(guān)于char還有一個(gè)特殊的語言就是char*,它在C語言中有專門的語義,既不同于signed char*,也不同于unsigned char*,專門用于指以'\0'為結(jié)束的字符串。
大小轉(zhuǎn)換,用ascii碼的差值進(jìn)行運(yùn)算。
函數(shù)實(shí)現(xiàn)兩個(gè)主要功能:
一、識(shí)別字符串中大寫字母。
二、將大寫轉(zhuǎn)小寫,累計(jì)個(gè)數(shù)并返回。
下面是代碼:
#include stdio.h
int C2LC(char str[]);
int main()
{
int n;
char str[100];
scanf("%s",str);
n=C2LC(str);
printf("大寫轉(zhuǎn)小寫后為:\n%s\n修改的個(gè)數(shù)為:%d\n",str,n);
return 0;
}
int C2LC(char str[])
{
int n=0;
char *p=str;
while(*p!=0)
{
? if(*p='A' *p='Z') *p=*p+32,n++;
? p++;
}
return n;
}
暈..
這個(gè)也要100分..
樓上太強(qiáng)了..
#include
stdio.h
#include
ctype.h
int
main()
{
putchar(tolower(getchar()));
putchar('\n');
return
0;
}
還是簡要解釋下.
tolower()
函數(shù),是ctype.h里的一個(gè)函數(shù),作用就是,把輸入的大寫字母轉(zhuǎn)換成小寫字母輸出.
最簡單形式.
..
程序只能輸入一個(gè)字符然后輸出一個(gè)字符.如果是大寫字母,就轉(zhuǎn)換為小寫字母輸出...
因?yàn)槭谴髮懽帜皋D(zhuǎn)化為小寫字母;我們可以考慮運(yùn)用ASCII碼來解決這類問題。根據(jù)ASCII碼,大寫字母變?yōu)樾懽帜钢恍枰?32即可.
例如我們定義char ch1='B';我們僅需要輸出ch1+32即可;
下面寫給出具體程序:
首先定義一個(gè)字符變量;然后提醒輸入大寫字母;在輸入大寫字母后;由ASCII碼轉(zhuǎn)化后;輸出的即為小寫字母。這是一種很簡潔的轉(zhuǎn)化方式。
當(dāng)然;這種程序也有弊端;當(dāng)你輸入小寫字母時(shí);ASCII碼就會(huì)超出范圍;因?yàn)樽罡邽?27;而a的ASCII碼為97;加上32后為129,顯然超出范圍;程序會(huì)無內(nèi)容輸出。
不過,解決大寫字母轉(zhuǎn)化小寫字母倒是綽綽有余的。
擴(kuò)展資料
ASCII(American Standard Code for Information Interchange,美國信息交換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國際標(biāo)準(zhǔn)ISO/IEC 646。
請(qǐng)注意,ASCII是American Standard Code for Information Interchange縮寫,而不是ASCⅡ(羅馬數(shù)字2),有很多人在這個(gè)地方產(chǎn)生誤解。
下有具體ASCII對(duì)照表
百度百科-ASCII
有三種方式可以解決c語言大小寫字母的轉(zhuǎn)換
1.使用C語言提供的函數(shù):toupper(),tolower()
使用這兩個(gè)函數(shù)需要引入頭文件:#includectype.h
示例代碼:
輸入如下
2.自己編寫轉(zhuǎn)換函數(shù):
因?yàn)榇笮懼g的ASCII碼值的差值是固定的,因此可以使用‘a(chǎn)’-‘A’來獲取差值。
實(shí)例代碼:
輸出如下:
3.異或0x20來實(shí)現(xiàn)轉(zhuǎn)換:
0x20是16進(jìn)制,表示為2進(jìn)制是00100000,這樣可能還是不明顯,轉(zhuǎn)換為10進(jìn)制,其實(shí)就是32
對(duì)了,還是利用32.
異或:相同為0,不同為1. ?也就是說,任何數(shù)字與0異或都是它本身。
所以將其他位都設(shè)為0,把第6位(從左向右)設(shè)置為1,也就是0x20
如果第6位是1,則異或結(jié)果為0.
如果第6位是0,則異或結(jié)果為1.
實(shí)現(xiàn)了加減32的操作。
示例代碼:
輸入如下:
希望可以幫到你。。。
用ctype.h中的函數(shù)tolower和toupper。前者以大寫的字符作為參數(shù),返回相應(yīng)的小寫字符;后者以小寫的字符作為參數(shù),返回相應(yīng)的大寫字符。
#include ctype.h
#include stdio.h
int main()
{
char c = 'A';
printf("%c", tolower(c)); //a
c = 'b';
printf("%c", toupper(c)); //B
return 0;
}
如果沒有相應(yīng)的大小寫,函數(shù)會(huì)返回字符本身。
#include ctype.h
#include stdio.h
int main()
{
char c = '0';
printf("%c", tolower(c)); //0
printf("%c", toupper(c)); //0
return 0;
}
網(wǎng)頁標(biāo)題:大寫轉(zhuǎn)小寫函數(shù)c語言,大寫轉(zhuǎn)小寫函數(shù)c語言表達(dá)
瀏覽路徑:http://chinadenli.net/article33/dsehgps.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、域名注冊(cè)、App開發(fā)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)