第1个回答 2008-11-22
出现非汉字字母则输出 请输入汉字或字母
#include <iostream.h>
#include<string.h>
void main()
{
char name[30];
cin >> name;
int len=strlen(name);
for(int i=0;i<len;i++)
{
if( (name[i]>'z'|| (name[i]<'A'&&name[i]>0) ) &&(name[i-2]<0 || name[i-1]>=0) )
{
cout << "请输入汉字或字母" << endl;
break;
}
}
}
第2个回答 2008-11-22
汉字我不太知道,但是c里面我好像不能输入汉字吧,字母可以这么判断:
#include <ctype.h>
if(isalpha(getchar()))
{
你要执行的...
}
else
{
printf("Error!\n");
exit(0); //这个在<stdlib.h>里面
}
第3个回答 2008-11-22
太简单了!检查ASCII字符的范围
可惜我不懂c,我只懂c++
我就给你说说思路吧,
给一个char变量赋值,然后就是if判断
如果这个变量大于64,小于122则是英文
第4个回答 2008-11-22
#include "stdio.h"
#include"string.h"
void main()
{
char a[100];
int i,flag=0,j;
scanf("%s",a);
j=strlen(a);
for(i=0;i<j;i++)
{
if((a[i]<='z'&&a[i]>='a')||(a[i]>='A'&&a[i]<='Z'))
flag=1;
else flag=0;
if(flag==0)
{printf("error!\n");break;}
}
}