① c语言输入信息的时候,怎么检查输入信息的有效性
数字的ASCII码是从0x30到0x39之间的,检查是否在这个区间就行了!
② C语言检测输入数据
既然是整形,后面if语句应该是if(a<0||a>9),加单引号是字符型的
③ 求教:如何用C语言编一个判断用户输入的数据是正确的,如果是错误的,那么直到用户输入正确为止。
int data;
int res=scanf("%d",data);
while(res!=1)//判断是否输入正确
{
while(getchar()!='\n') ;//清理缓冲区
res=scanf("%d",data);
}
while(getchar()!='\n');
④ C语言如何判断是否有字符输入
使用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;
}
⑤ c语言 检查输入是否合法
#include<stdio.h>
int ok(char buf[])//判断一个串是不是整数串
{
int i;
for(i=0;buf[i];i++)
{
if(buf[i]<'0'||buf[i]>'9')return 0;
}
return i>0;
}
int main()
{
char buf[100];
puts("输入一个整数");
while(1)
{
scanf("%s",buf);
if(!ok(buf))
{
puts("不是整数,请继续输入");
}
else break;
}
return 0;
}
⑥ 给定一个数组,数组内容随机,键盘输入一个数据(数字和单字符),查询是否存在此数据 c语言代码怎么写
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 50
int inarr(int a[],int n,int num) {
int i;
for(i = 0;i < n; ++i)
if(a[i] == num) return 1;
return 0;
}
void show(int a[],int n) {
int i;
for(i = 0; i < n; ++i) {
if(i && i % 10 == 0) printf(" ");
printf("%d ",a[i]);
}
if(i % 10) printf(" ");
printf(" ");
}
int main() {
int a[N],num,i,n;
printf("n = ");
scanf("%d",&n);
if(n < 1) n = N/5;
if(n > N) n = N;
printf("请输入%d个整数(空格隔开):",n);
for(i = 0; i < n; ++i) scanf("%d",&a[i]);
printf("数组清单: ");
show(a,n);
printf("请输入要查找的数:");
scanf("%d",&num);
if(inarr(a,n,num)) printf("找到了! ");
else printf("对不起,数组a[]中没找到%d ",num);
return 0;
}
⑦ C和C++分别如何检查输入数据
VC的CIN函数会检查你的输入,如果你输入的123,当然不会错,而如果是123abc则自动丢弃abc而只保留123.也就是只保留所定义的数据类型.如果不是定义的数据类型,则是0.
TC一样,如果用scanf输入的不是所定义类型数据时它输出的是一个没有初始化变量n的内容,是个垃圾内容依编译器不同而不同.(但如果你在程序定义时给n赋了值,那输出的就是这个值.
⑧ c语言中数据输入错误了如何提示输入错误并实现要求重新输入
cin>>sth;
while(!check(sth))
{
//check
函数检查输入值,如果满足就不需要在输入,这是就返回1或者true
cout<<"enter
again,
because
it
is
invalidate"
cin>>sth;
}