啊哈磊_编程从这里起步

标题: 这个编译出来怎么不对,负数就不行 [打印本页]

作者: Elicity    时间: 2012-8-28 10:15
标题: 这个编译出来怎么不对,负数就不行
啊哈c上的题目:从键盘输入一个正整数,让计算机判断这个数是否为一个“一位数”
(1~9 之间)。如果是则输出yes,不是输出no。

#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a) ;
if   (a>=1,a<=9) printf("yes");
else printf("no");
sleep(5000);
return 0;
}
作者: 李掌柜    时间: 2012-8-28 10:15
本帖最后由 月光疾风 于 2012-8-28 11:21 编辑


那是因为你申明的类型的原故:把int a;改成unsigned a;问题解决,分析:int 是整形类型,又有正整形,和负整形,关于详细解释见初中数学课本,解决你产生的疑问用无符号类型能帮你搞定。unsigned
作者: Elicity    时间: 2012-8-28 11:38
thank  you  ^_^
作者: 李掌柜    时间: 2012-8-28 14:09
Elicity 发表于 2012-8-28 11:38 thank you ^_^

亲,那把悬赏结了吧
作者: Elicity    时间: 2012-8-28 20:38
月光疾风 发表于 2012-8-28 14:09  亲,那把悬赏结了吧

手机发的贴,等用电脑的时候给。
作者: 李掌柜    时间: 2012-8-28 20:46
Elicity 发表于 2012-8-28 20:38
手机发的贴,等用电脑的时候给。

偶也是用手机回的帖子
作者: jack9603301    时间: 2012-8-30 21:41
if   (a>=1&&a<=9) printf("yes");
应该这样
作者: 韩金选    时间: 2012-9-1 16:29
i love you
作者: 乱战    时间: 2012-9-10 19:04
月光疾风 发表于 2012-8-28 10:15
那是因为你申明的类型的原故:把int a;改成unsigned a;问题解决,分析:int 是整形类型,又有正整形,和负 ...

#include <stdio.h>
int main()
{
        int a;
    scanf("%d",&a);
    if(10>a>0)             printf("yes");
   
    else        printf("no");
        sleep(5000 );
        return 0;
}
这也可以的
作者: 380897998    时间: 2012-9-19 18:41

作者: 凋零    时间: 2012-9-19 20:53
#include <stdio.h>

int main()
{
        int i;
    scanf("%d",&i);
    if(i>0&&i<10)                printf("yes");
    else                        printf("no");;
    sleep(5000);
    return 0;
}
作者: 李掌柜    时间: 2012-12-5 20:14
韩金选 发表于 2012-9-1 16:29
i love you

别,哇哇
作者: 北极风    时间: 2013-8-18 19:13
乱战 发表于 2012-9-10 19:04
#include
int main()
{

(10<a<0)_______这个关系表达式只是碰巧了,
如要判断2~9,用(10<a<1)就不成立了,




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2