注册 登录
编程论坛 C语言论坛

编一道程序,要求对输入进行确认,输入不是数字就要重新输入,直到输入量是1个数字为止。

兰陵笑笑生 发布于 2019-05-18 14:13, 2166 次点击
编一道程序,要求对输入进行确认,输入不是数字就要重新输入,直到输入量是1个数字为止。
5 回复
#2
兰陵笑笑生2019-05-18 14:14
#include<stdio.h>
main()
{
    int n;
    do
    {
        scanf("%c",&n);
        if(n>='0'&&n<='9')
        break;
        
    }while(1);   
}
#3
不懂才问2019-05-18 14:53
https://bbs.bccn.net/thread-493873-1-1.html

你可以参照一下我之前发的问题。想想getch()和getchar()哪个更适合你的问题。
#4
lxk17329422019-05-18 19:55
你说的数字包括整型和浮点型吗?如果是的话那就比较麻烦了,只能接收字符串,然后再判断是否是整型或浮点型
#5
lxk17329422019-05-18 20:06
程序代码:

    while (1)
    {
        if (scanf("%d", &n) && getchar() == '\n')
            break;
        
        while (getchar() != '\n')
            continue;
    }



[此贴子已经被作者于2019-5-18 20:21编辑过]

#6
MRK2019-07-23 22:55
#include <stdio.h>
 int main()
    {
    int n;
        while(1)
            {
            scanf("%d",&n);
                if(n>=0||n<=0)
                    break;
            }
return 0;
    }
这个是只要是数字就会结束循环,不是数字的话就继续循环

[此贴子已经被作者于2019-7-23 23:31编辑过]

1