使用ctype.h里面isdigit()和isalpha函数就可以判断了 include <ctype.h> include <stdio.h> int main(){ printf("1 是数字吗? %s\n",isdigit('1')?"是":"不是");printf("a 是字母吗?%s",isalpha('a')?"是":"不是");return 0;} ...
include <stdio.h>#include <string.h>void main(){int i,n,k=0;char str[1000];gets(str);n=strlen(str);for(i=0;i<n;i++)if(str[i]<'0'||str[i]>'9') k=1;if(k==1) printf("输入的字符串中包含非数字的字符。");else printf("输入的字符串中不包含非数字的字符。")...
本程序用的就是判断最高位的方法。int is_zh_ch(char p){ if(~(p >> 8) == 0) 将p字节进行移位运算,右移8位,这样,如果移位后是0,则说明原来的字节最高位为0,不是1那么也就不是汉字的一个字节。{ return 0; //代表不是汉字 } return -1;} ...
include <stdio.h>void main(){int i,j,t,k=0,m=0,n,a[100];scanf("%d",&n);t=n;while((float)(t)>=1){a[m]=t%10;t=t/10;m++;}for(i=0;i<m-1;i++)for(j=i+1;j<m;j++)if(a[i]=a[j]) {k=1;break;}if(k==1&&sqrt(double(n))==(int)sqrt(double(...
c语言如何判断输入的字符串是否有汉字 这是跟汉字的存储方式有关,西文字符用ASCII码的话,一个字节可以表示一个字符,而汉字用的是双字节表示一个汉字。那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高为都为1.例如:汉字“啊”的汉字机内码为B0