标题:怎么使输入的必须在1到100的整数?
只看楼主
飞跃的乌龟
Rank: 2
等 级:论坛游民
帖 子:96
专家分:18
注 册:2012-10-20
结帖率:90.32%
已结贴  问题点数:10 回复次数:10 
怎么使输入的必须在1到100的整数?
输入其它数字或者符号,都显示“输入错误”
搜索更多相关主题的帖子: 其它 
2012-11-03 21:35
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:1 
int a[100],i,j=0,t;
for(i=1;i<=100;i++)
a[i-1]=i;
scanf("%d",&t);
for(i=0;i<100,i++)
{
    if(a[i]==t)
    j=1;
}
if(j==0)
printf("cuo le");
脑子笨 ,只想到这个办法,献丑了

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-03 22:37
飞跃的乌龟
Rank: 2
等 级:论坛游民
帖 子:96
专家分:18
注 册:2012-10-20
得分:0 
回复 2楼 yaobao
看来我没表达清楚,我是说输入值得时候只能输入scanf 1到100,如果输入a,101,+等规定以外的字符或数字,程序不向下执行,显示“输入错误”。
2012-11-03 23:01
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
SCANF输入方式比较弱智  凑合着用吧

DO IT YOURSELF !
2012-11-03 23:06
moliy
Rank: 2
等 级:论坛游民
帖 子:39
专家分:24
注 册:2012-4-25
得分:1 
#include <stdio.h>
int main ()
{
    int n;
    scanf("%d",&n);
    if(n>0&&n<=100)
        printf("%d\n",n);
    else
        printf("输入错误!\n");
    return 0;
}
2012-11-03 23:07
冰冻零点
Rank: 3Rank: 3
来 自:西安电子科技大学
等 级:论坛游侠
帖 子:81
专家分:136
注 册:2012-9-18
得分:5 
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,i;
printf("please input a number between 0 and 100\n");
while((a=scanf("%d",&i))!=1||i<0||i>100)
{while((getchar())!='\n');
printf("input wrong.please input again\n");
}
printf("the number %d is right.",i);
system("pause");
return 0;
}

好好学习,天天向上
2012-11-03 23:13
w995612220
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:139
专家分:313
注 册:2012-6-20
得分:1 
将楼上的改改就OK了
while(1)

 scanf("%d",&n);
getchar();
    if(n>0&&n<=100)
        {printf("%d\n",n);break;}
    else
        printf("输入错误!\n");
2012-11-03 23:15
天剑山
Rank: 4
等 级:业余侠客
威 望:3
帖 子:119
专家分:266
注 册:2012-8-3
得分:1 
用int类型是行不通的,char类型就差不多了,输入后判断AC...什么码,判断每一位数字,然后用atoi函数转回,int无法判断是否正确的。。。。。。
2012-11-04 00:25
wushengyao
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:11
专家分:8
注 册:2012-10-28
得分:1 
这个只能输入数字的...控制在1-100就靠你自己了。。
#include "stdio.h"
main()
{
    char c;
    printf("please input:");
    while((c=getchar())!='\n')
    {
       if('0'<=c&&c<='9') putchar(c);
       else printf("error!please input again:");
     }  


}


“布尔值最好的一点是,就算你错了,也顶多错了一位而已。”—— (无名氏)
2012-11-04 08:59
飞跃的乌龟
Rank: 2
等 级:论坛游民
帖 子:96
专家分:18
注 册:2012-10-20
得分:0 
看来我不但数学不好,语文也不好
2012-11-04 09:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-385815-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.876463 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved