c语言判断输入
A. c语言如何判断输入类型
if(scanf("%d",&h)!=1)
printf("it's not a number!\n");
因为scanf是从缓存中读取输入的数据如果你输入的不是数字,就会返回0,如果是数字就会返回1;
一般人不知道scanf还有返回值,就可以看看头文件中scanf的定义了。
其实我还有一个更好的办法,你输入的不是数字就要他重新输入,直到输入的是数字为止,这样是最好的写法。
程序如下:
#include <stdio.h>
int main()
{
int h;
while(!scanf("%d",&h))
{
fflush(stdin);
printf("\n输入错误,请重新输入:\n");
}
}
其中fflush(stdin)是清理缓存,就像我上面说的scanf是从缓存取数的,
B. c语言判断"如果输入a"
#include<stdio.h>
intmain()
{chars[200];
inti;
gets(s);
for(i=0;s[i];i++)
if(s[i]=='z')s[i]='a';
elseif(s[i]>='a'&&s[i]<'z')s[i]++;
printf("%s
",s);
return0;
}
#include<bits/stdc++.h>
usingnamespacestd;
charc;
intmain()
{
while((c=getchar())!='
')
if(c=='z')
printf("a");
elseif(c=='')
printf("");
else
printf("%c",c+1);
return0;
}
C. 如何在C语言中判断输入的是回车
回车'\r',换行'\n',在linux,Unix环境下严格区分,但在windows环境下一般只使用'\n',如果保存兼容性则内,可以写为:容
char gc = getchar();
if(gc == '\r' || gc == '\n') break;
D. C语言程序题 判断输入的字符类型
if(ch>='a'&&ch<=='z'),printf("该字符专是小写字母"),else if(ch>='A'&&<='Z'),printf("该字符是大写字母"),else if(ch>='0'&&<='9'),printf("该字符是数字"),elseprintf("该字符是其他字符") 。
E. C语言:如何判断输入的是数字还是其他字符
有很多方法:
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个内字符,判断其是字容母还是数字。
2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。
至于怎么判读是字母还是数字,很简单,假设字符c,
满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
满足 (c>='0' && c<='9')就是数字。
F. c语言中 要判断一个输入的元素是否合法
scanf("%s",
str)输入一个字符串代替输入整数。然后检查字符串里的字符是否都是数字字符,符合条件的话再用函数atoi把字符串转化为整数
G. c语言对输入的值进行判断是什么意思
输入一个值,然后判断其合法性
比如说,输入一个分数,那么它就应该是不小于0,不大于一百的数值
超过这个范围就是非法的
H. c语言 如何判断输入的是数字还是字母
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建版一个初始的.cpp文件,例权如:test.cpp。
I. c语言中如何怎么判断输入的是数字
#include <stdio.h>
#include <string.h>
// 枚举类型:自然数,整数,小数 , 未知
enum TYPE {Natural,Integer,Float,Unkonwn};
/*
一个合法的数字(包括自然数,整数,小数)的格式是:
[+-](可选) + [0个或多个数字] + [小数点](可选) + [0个或多个数字]
比如:
+1
1
-1
+3.14
3.14
-3.14
+3.
3.
-3.
+.123
.123
-.123
都是合法的数字
*/
enum TYPE check(char s[])
{
int length = strlen(s);
int start = 0 , end = length-1;
// 去开始空白字符
while(start < length && s[start]==' ' || s[start]=='\t'){start++;}
// 去结尾空白字符
while(end >=0 && s[end]==' ' || s[end]==' '){end--;}
// 是否负数标识
bool isNegative = false;
// 是否小数标识
bool isFloat = false;
// 是否有整数部分
bool hasIntegerPart = false;
// 是否有小数部分
bool hasDecimalPart = false;
for(int i = start ; i <= end ; i++)
{
if(s[i] == '-' || s[i] == '+')
{
if(i == start)
isNegative = (s[i] == '-');
else
return Unkonwn;
}
else if(s[i] == '.')
{
if(!isFloat)
isFloat = true;
else
return Unkonwn;
}
else if(s[i] >= '0' && s[i] <='9')
{
if(!isFloat)
hasIntegerPart = true;
else
hasDecimalPart = true;
}
else
{
return Unkonwn;
}
}
if(isFloat)
{
if(hasIntegerPart || hasDecimalPart)
return Float;
else
return Unkonwn;
}
else
{
if(!isNegative)
return Natural;
else
return Integer;
}
}
int main(int argc, char *argv[])
{
char s[100];
enum TYPE type;
while(1)
{
scanf("%s",s);
type = check(s);
switch(type)
{
case Natural:
printf("%s\n","Natural");
break;
case Integer:
printf("%s\n","Integer");
break;
case Float:
printf("%s\n","Float");
break;
case Unkonwn:
printf("%s\n","Unknown");
break;
}
}
return 0;
}
/*
测试数据:
+1
1
-1
+3.14
3.14
-3.14
+3.
3.
-3.
+.123
.123
-.123
*/
J. c语言输入值的判断
getchar("%c",&x);
if (c=getchar(x))
改成
x = getchar();
if ('c' == x)
完整的
#include<cstdio>
main()
{
charx;
printf("把大象放冰箱,总共分几步");
printf("a.一步 ");
printf("b.两步 ");
printf("c.三步 ");
x=getchar();
if('c'==x)
printf("你的回答正确 ");
else
printf("你的回答错误 ");
}