永发信息网

C语言里如何建立一个循环,当输入数字在0~9之间的时候继续输入,当输入不在0~9之间的时候结束?

答案:3  悬赏:50  手机版
解决时间 2021-04-03 01:51
C语言里如何建立一个循环,当输入数字在0~9之间的时候继续输入,当输入不在0~9之间的时候结束?
最佳答案
scanf("%d",&x);
while ((x<=9)&&(x>=0)) scanf("%d",&x);追问用{scanf,printf(" ")}可是当输入为a时会出现无限循环输出_(为空格)追答输入为a是什么意思?不太明白追问字符a小写键盘里字母a追答不是输入数字吗追问不只是输入数字,还可以输入其他的字符!!追答那就改成字符输入好了
ch=getchar();
while ((ch>='0')&&(ch<='9')) ch=getchar();追问这个我刚试完,只能循环一次,我也不知道为什么!!追答有个问题,你输入的时候不能输入回车追问好的,我试试追答那就改成回车输入,加一行回车输入的语句
#include
int main()
{
char ch;
ch=getchar();
while ((ch>='0')&&(ch<='9')) {scanf("%c",'\n');ch=getchar();}
}追问程序有问题!!追答我运行没有问题,怎么回事追问即使能运行,输入11时会运行两次!!追答运行两次是什么意思,这个程序每次输入只能输入一个字符,并且要回车追问就是输入11再按回车,程序会运行两次!追答每次只能输入一个字符+回车追问好吧,可能操作软件不一样,我的运行时程序错误!追答你截个图给我看看追问

追答#include
int main()
{char ch;
ch=getchar();
while ((ch>='0')&&(ch<='9')) {getchar();ch=getchar();}
}
改一下试试追问在循环体getchar和ch=getchar之间加一句输出语句,当输入为11时会输出一句后再结束!!追答没懂你是什么意思追问
追答你不是printf("aa\n");吗追问嗯,我是想输入0~9时输出aa,可是现在输入11时会输出aa再结束结束,主要是不想输入11时输出,直接结束#include "stdio.h"
int fun(char p[])
{
if(p[0]>='0'&&p[0]<='9'&&p[1]=='\0')
return 1;
else return 0;
}
void main()
{
char s[2];
gets(s);
while(fun(s)==1)
{
printf("aa\n");
gets(s);
}
}
全部回答
#include 
int main(void)
{
    int c=0;
    while(c<10&&c>=0)scanf("%d",&c);
    return 0;
}追问用{},在循环语句里加一句输出空格,再输入1,再输入a时会出现无限循环追答#include 
int main(void)
{
    char c=‘0’;
    while(c<='9'&&c>='0')
    {
        scanf("%d",&c);//此为循环体。
    }
    return 0;
}追问亲,你这个循环只能执行一次!!追答
是么#include 
int main(void)
{
    char c=‘0’;
:r  scanf("%d",&c);
    if(c>'9'||c<'0')goto e;
    //................
    //此为循环体。
    goto r;
:e
    return 0;
}追问第五行开头:r是什么意思?#include "stdio.h"
int fun(char p[])
{
if(p[0]>='0'&&p[0]<='9'&&p[1]=='\0')
return 1;
else return 0;
}
void main()
{
char s[2];
gets(s);
while(fun(s)==1)
{
printf("aa\n");
gets(s);
}
}
用自符串: 先定义一个字符串,如:char hanzi[20]; 然后: scanf("%s",hanzi); 或者gets(hanzi); 不过定义的时候控制了字节为20,不能输太多,(一个汉字两 个字节)追问亲,是输入数字后可以执行一个语句!你这样只能输入,不能循环#include "stdio.h"
int fun(char p[])
{
if(p[0]>='0'&&p[0]<='9'&&p[1]=='\0')
return 1;
else return 0;
}
void main()
{
char s[2];
gets(s);
while(fun(s)==1)
{
printf("aa\n");
gets(s);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我画了个什么样的太阳,送给秋天
想买纯牛奶,有好的推荐吗
介绍兄弟肉文。小受是排行老三,2个哥哥很宠
带吉字的三字词语
电影,国外的,魔幻风格,现代
4万装修100平米的房子能行吗
阴历十月二十九日是什么星座
求温暖的弦 何以笙箫默这种小说。
windows无法启动,电脑显示可以通过原始启动
正式场合吃饭的时候,应该怎么做?怎么坐?
从张店区傅家镇营子村打的到山东工业职业学院
有哪家公司可以设计军工产品?
为什么居保和社保差别那么大?
大神们,美短母猫会发腮吗?大概几个月会发腮
古剑奇谭的DLC送的东西是自动出现的么?听说
推荐资讯
人人花园生活体验馆地址在哪,我要去那里办事
用黄瓜做面膜对脸有什么好处或坏处
263x13 263x88-263用简便方法
红茶泡完为什么杯底部和上面的茶汤颜色不一样
影响精馏塔顶效率及生产能力的因素有哪些?
中考两门不及格不发毕业证吗
“左撇子”比“右撇子”更灵活聪明吗?
美国经济大萧条的主要原因
斜方肌一块大一块小 怎么办?
谈论家庭,并说说怎样改变(英文作文)
隆昌哪有批发文具的地方
秘制辣椒油这样做 香的不要不要的 做法也简单
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?