C++程序辨别数字、字母和汉字

来源:互联网 发布:化学反应软件 编辑:程序博客网 时间:2024/04/30 03:03

数字、字母和汉字是用不同的ASCII码来表示的,其中

1、汉字在ASCII码中表示为负整数

2、一个汉字占两个字节

3、数字(0~9)在ASCII码中依次表示为48~57


#include <iostream>using namespace std;//辨别汉字和字母void funChar(char str[]){bool isChinese = true;//汉字的字节数是2的整数倍,字母的字节数可以为任意值if (strlen(str) % 2 == 0){//取字符串中的每一个值进行正负判断for (int i = 0; i<strlen(str); i++){//在ASCII码表中汉字表示为负数,非负数则不为汉字if (str[i] >= 0) { isChinese = false; break; }}}elseisChinese = false;
//判断是汉字
if (isChinese)cout << "汉字!" << endl;elsecout << "字母!" << endl;}//数字void funNumber(char str[]){cout << "数字!" << endl;}int main(){int i = 0;char str[100];cin >> str;//ASCII码中数字为48~57,如果是数字,则运行函数funNumber()if (str[i] >= 48 && str[i] <= 57)funNumber(str);elsefunChar(str);return 0;}