发布网友 发布时间:2022-03-04 08:40
共6个回答
热心网友 时间:2022-03-04 10:09
用scanf()从键盘输入读入一个字符串(注意别越界),之后编个循环检测每个字符,若存在不是字符'.',且>'0',<'9'的字符,那就不是数字,字符'.'若出现一次以上也不是数字。
热心网友 时间:2022-03-04 13:02
#include <stdio.h>
#define MAX 50
int main()
{
char string[MAX];
int i=0;
printf("please input:\n");
gets(string);
while(string[i]!='\0' && i<50)
{
if (string[i]>='0' && string[i]<='9')
i+=1;
else
break;
}
if (string[i]=='\0')
printf("是数字。");
else
printf("不是数字。");
}
这是偶编的你看是不是你需要的?
热心网友 时间:2022-03-04 14:53
判断不了!因为整形和字符是通用得,放到内存中都是一样得,没有办法进行分辨!但是可以给出范围,在什么范围内是数字,什么范围内是字符。ok?
热心网友 时间:2022-03-04 17:01
你判断输入的数是从0~9包括小数点就可以了啊
热心网友 时间:2022-03-04 19:26
scanf("%s",&a);
关键是怎么循环检测每个字符啊~
热心网友 时间:2022-03-04 22:07
看他的ASIC代码,大于多少,小于多少就可以了