c++判断输入的是否为数字?
发布网友
发布时间:2022-04-21 10:50
我来回答
共5个回答
热心网友
时间:2023-06-30 22:35
可以参考下面的代码:
#include<iostream>
using namespace std;
int main()
{
double num;
if(cin>>num)
cout<<"Input correct!"<<endl;
else
cout<<"Input erroe!"<<endl;
return 0;
}
扩展资料:
C语言isupper()函数:判断一个字符是否是大写字母
C语言isspace()函数:判断一个字符是否是空白符
C语言isprint()函数:判断一个字符是否是可打印字符
C语言islower()函数:判断一个字符是否是小写字母
C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回x^y的值
参考资料来源:百度百科-C语言函数
热心网友
时间:2023-06-30 22:35
你写的这个有太多的错误。至于定义数组的时候a[N]这种错误我就不讲了
还有在循环里面(i=1;i<N;i++)N没赋值就调用的错误我也不讲了
讲你的死循环问题你没有给循环加一个*条件根据你continue的意思我暂时理解为如果输入的不是数字那么一直循环重新输入一直到你输入的是数字为止跳出循环对吗?
while(1){
printf("请输入要查的值\n");
ret=scanf("%d",&n);
printf("ret=%d\n",ret);
if(ret==0){
printf("输入错误,请重新输入\n");
continue;
}
break;
}
这样就可以如果输入的是数字scanf的返回值为1那么循环的第一次不会进入if(ret==0)也就是说如果输入的是数字直接执行break跳出循环
如果输入的不是数字循环的时候执行语句if(ret==0)然后执行continue
continue的意思是跳出当前循环继续下一次循环即执行到continue之后从新循环而不会执行到break以此类推只要你输入的不是数字则永远循环输入的如果是数字跳出循环执行完毕。
大哥如果小弟回答正常给点分吧多谢
=================================================================
另外对于一楼的同学我必须有好的提醒你scanf()的用法以及返回值的相关问题
我想你肯定不知道scanf("%d",&i)如果你输入的是int型则返回1否则返回0
换句话说即你输入的类型和scanf()里面预先定义的类型一致则返回1否则返回0
THANKYOU
热心网友
时间:2023-06-30 22:36
如果是判断0~9的数字,那么就用isdigit函数。
如果是判断输入是否为科学计数法里面的数据,那么如下:
#include <iostream>
using namespace std;
int main()
{
double in;
cin>>in;
if(cin.fail())
cout<<"非数字"<<endl;
return 0;
}
热心网友
时间:2023-06-30 22:37
#include <iostream>
using namespace std;
int main()
{
char input[20];
cout<<"请输入数字:";
cin>>input;
for(int i = 0; i < strlen(input); i++)
{
if(!isdigit(input[i]))
{
cout<<"你输入了非法字符!"<<endl;
exit(0);
}
}
cout<<"你输入的是数字!"<<endl;
}
要多标准的呢?负数也行么?
热心网友
时间:2023-06-30 22:37
判断是数字的标准是什么?
浮点数?1.0121
整数?-12313,+132